我试图在受控脚本情况下使用preg-replace删除unnessary注释,但我的正则表达式是不正确的。任何想法我的正则表达式有什么问题吗? (我有Apache / 2.0.54& PHP / 5.2.9
// Bla Bli Blue Blow Bell Billy Bow Bye
script var etc (); // cangaroo cognac codified cilly celine cocktail couplet
script http://blaa.org // you get the idea!
script var etc ();
script http://blaa.org
# when comment starts on a new line, delete this entire line
# find [a new line] [//] [space or no space] [comment]
$buffer = preg_replace('??', '??', $buffer);
# when comment is halfway in script ( // comment)
# find [not beginning of a line] [1 TAB] [//] [1 space again] [comment]
$buffer = preg_replace('??', '??', $buffer);
任何和所有的建议都会被我重视+1,因此我很接近解决这个谜语!
答案 0 :(得分:1)
试试这个正则表达式:
/(?<!http:)\/\/[^\r\n]*/
请谨慎,考虑如下字符串:
<!--
// not a comment -->
或
/*
// not a comment */
和
var s = "also // not // a // comment";
您可能希望解决https://...
和ftp://...
等问题。