2014-04-08 106 views
0

嗨我试图删除HTML文档中的所有javascript评论(//)。例如删除Javascript评论RegEx

<html> 

<img src="http://example.com/img.jpg" /> 

<script> 
//Some comments 

gallery: { 
     enabled: true, 
     navigateByImgClick: true, 
     preload: [0,1] // Will preload 0 - before current, and 1 after the current image 
    }, 
</script> 

</html> 

以下是我的正则表达式代码[^(http?s:)|ftp]\/\/(.*)。这是行得通的。但是我想确定一下,有没有什么办法可以改进这个代码。 ?

+0

把你的js放在自己的文件(.js)中并缩小:)? –

+0

你想改善什么?由于某些原因它失败了吗?它没有足够的性能吗?另外,我没有看到这一点......如果这对于您不显示评论很重要,那么您应该真正做到服务器端而不是客户端。 –

+0

http://james.padolsey.com/javascript/javascript-comment-removal-revisted/ –

回答

1

你的正则表达式表示“匹配任何字符,是不是在fhpts?:(),后面两个文本斜线和什么线路的ened”你想干什么(?<!http)(?<!https)(?<!ftp)\/\/.*

Normlly,但JavaScript不支持lookbehinds(多给大家的失望),因此考虑这样做:

.replace(/\s\/\/.*/,"") 

这将要求意见面前有一个空格(他们几乎总是这样) - 它并不完美,但它是我能想到的最好的现在XD