我在Uncaught SyntaxError: Unexpected token ;
THE LINE NUMBER
// HTML Helper
var documentHtml = function(html){
// Prepare
var result = String(html)
.replace(/<!DOCTYPE[^>]*>/i, '')
.replace(/<(html|head|body|title|meta|script)([s>])/gi,'<div class="document-$1"$2')
.replace(/</(html|head|body|title|meta|script)>/gi,'</div>')
; // << THE LINE NUMBER
// Return
return $.trim(result);
};
不确定是什么问题。
答案 0 :(得分:2)
问题是:
/</(html|head|body|title|meta|script)>/gi
在撰写本文时,SO的突出显示了原文的问题:正则表达式似乎是/</
。
应该是:
/<\/(html|head|body|title|meta|script)>/gi
由于Javascript使用正斜杠来分隔正则表达式,因此必须使用反斜杠转义其中的任何正斜杠。
IMO使用正斜面的正斜杠是JavaScript最不幸的语法决定:
解析JavaScript很困难,因为/
启动了多行注释,单行注释,除法和正则表达式。 (Sublime,我的编辑选择,错了。Dreamweaver弄错了。)
它使URI / URL的正则表达式特别难看。
答案 1 :(得分:1)
尝试改变:
.replace(/</(html|head|body|title|meta|script)>/gi,'</div>')
为:
.replace(/<\/(html|head|body|title|meta|script)>/gi,'<\/div>')
您需要在Javascript
中使用/
转义\