100分大奖!!!批量替换php中的注释(正则表达式)

来源:百度知道 编辑:UC知道 时间:2024/05/26 07:46:24
像这样:
$str = file("aaa.php");

echo preg_replace("'\/\/[\s](\w+)[\r\n]'i",'===',$str)

注释就是:// 或 /* .... */ 这样的

我就是想要规则。

最简单的:

function strip_desc($str)
{
$str = preg_replace("/\/\*.*\*\//Us","",$str);
$str = preg_replace("/\/\/[^\r\n\'\"]*[\r\n]/","",$str);
return $str;
}

但是,如果有下面一个例子,能去得掉吗?
$str = <<<END
//firstline

\$a=0; //catie
\$b = "http://list.com"; /*

cannot
*****************/

\$vfp = "can";
/*

cannot
*****************/
END;

因此,便需要更强大的功能,仅靠正则是不行的。在php5里,有了strip_whitespace()函数,你一查便知。