【问题标题】:How to auto detect language from a string如何从字符串中自动检测语言
【发布时间】:2021-02-03 11:11:14
【问题描述】:

有没有办法从字符串中自动检测编程语言?

我正在尝试使用Prism.JS,但似乎找不到任何内容。

如果没有办法直接在 Prism.JS 中这样做,是否有原生 Javascript 解决方案?

var string = '.element { font-family: serif; }' 

//returns CSS

【问题讨论】:

  • 您需要检测哪些所有语言?
  • @VinaySharma 所有主要的。 Highlight.js 自动执行此操作,但我目前正在使用 Prism.js,它似乎没有这样做的选项
  • if (x < 0) { x = x + 1 } 是有效的 JavaScript、有效的 C、有效的 Java...您想为该字符串返回什么?所有潜在的语言,其中任何一种还是特定的一种?
  • @secan 如示例所示,它应该返回语言的名称,而不是它是否有效。我相信这是通过正则表达式完成的。 Highlight.js 这样做,但它直接内置在他们的库中。它接受任何随机字符串,并返回cssjavascriptpython 等。这应该做同样的事情
  • @freedomn-m 一种可能性*。 console.log("Hello world"); - returns JavascriptSystem.out.prinln(el) - returns Java.

标签: javascript jquery syntax-highlighting highlight.js


【解决方案1】:

使用lang-detector 库。这是DEMO

或者你可以使用HighlightJshighlightAuto 可以为您检测语言。它可以检测比 lang-detector 更多的语言。

【讨论】:

  • 我使用 Prism.Js - prismjs.com/index.html#basic-usage。有没有办法在 Prism 中做到这一点,而不是 Highlight.Js?
  • 根据我的发现,prism 没有检测到语言。
  • 正确,Prism 仅突出显示,它会自动检测。
猜你喜欢
  • 2018-06-02
  • 2020-07-25
  • 1970-01-01
  • 1970-01-01
  • 2012-08-27
  • 1970-01-01
  • 1970-01-01
  • 2019-11-26
  • 1970-01-01
相关资源
最近更新 更多