Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
HTML语法错误用javascript突出显示_Javascript_Html - Fatal编程技术网

HTML语法错误用javascript突出显示

HTML语法错误用javascript突出显示,javascript,html,Javascript,Html,我正在为我们的内容团队使用的第三方网站构建chrome扩展 我需要显示语法错误的语法突出显示,例如,等损坏的html标记、href=“http://domain/page/”等损坏的属性、未正确关闭的标记。可以使用javascript吗 到目前为止,我使用的是highlight.js,在它完成工作之后,几乎没有替换正则表达式。有更好的解决方案吗?如何查找丢失的封闭标记 $('.edit-definition').each(function (i, block) { hlj

我正在为我们的内容团队使用的第三方网站构建chrome扩展

我需要显示语法错误的语法突出显示,例如,
等损坏的html标记、
href=“http://domain/page/”
等损坏的属性、未正确关闭的标记。可以使用javascript吗

到目前为止,我使用的是
highlight.js
,在它完成工作之后,几乎没有替换正则表达式。有更好的解决方案吗?如何查找丢失的封闭标记

$('.edit-definition').each(function (i, block) {
            hljs.highlightBlock(block);
            block.innerHTML = block.innerHTML
                .replace(/(&lt;\/\s)/g, "<span class='hljs-red'>$1</span>") //spaces in the start of tag
                .replace(/(\s+>|\s+&gt;)/g, "<span class='hljs-red'>$1</span>") //spaces in the end of tag
                .replace(/(http\s|https\s|\s+\/\/\s+|\s+\\\\\s+|\s+\/\s+|\s+\\\s+)/g, "<span class='hljs-red'>$1</span>") //spaces in urls
        });
$('.edit definition')。每个(函数(i,块){
高亮度块(块);
block.innerHTML=block.innerHTML
.replace(/(\/\s)/g,“$1”)//标记开头的空格
.replace(/(\s+>|\s+)/g,“$1”)//标记末尾的空格
.replace(/(http\s | https\s |\s+\/\/\s+\s+\\\s+\\/\s+\/\s+\\\\s+)/g,“$1”)//URL中的空格
});

例如,有两个过梁可用。 它们将为您提供html中的所有错误


请注意,
href
属性中的前导空格和尾随空格为。linter很可能在URI中找不到空格,这些空格必须使用regex自己查找。

为什么要向下投票?我从昨天开始搜索,没有发现任何提到错误的突出内容,很可能是因为它在SO是离题的:要求我们推荐或查找书籍、工具、软件库、教程或其他非站点资源的问题因堆栈溢出而离题,因为它们往往会吸引自以为是的答案和垃圾邮件。您使用的IDE是什么?我认为大多数IDE现在都有插件,或者已经内置了高亮显示损坏的html标记?@mplugjan好吧,现在我要求的不是库而是解决方案,对我来说是一样的,只是在修辞上略有不同——所有类似的问题通常都有库作为答案用这种方式回答html太宽泛了;它需要一个库,所以本质上这个问题是要求一个库建议。据我所知,我只能使用linter来添加一些注释,例如,
这个html有4个错误:…
但不是为了语法突出显示?这当然只是一个示例,还有其他可用的过梁,可以为您提供更多信息,您可以收集这些错误,然后自己突出显示它们。例如,如果您查看这个linter的源代码,您就可以自己检查它们。可以将错误添加到映射中,而不是返回字符串,而是在linting之后使用映射来突出显示代码。我不知道有哪个图书馆能为你做这些。编辑:如果使用此过梁,您必须自己高亮显示它们,并修改过梁。