php正则去掉php注释
php的/* */这种注释,用正则去掉。请问什么好的办法吗?这个正则应该如何改进?
测试代码
文件:a.PHP
/**
* 加法计算
* 测试
*/
// 设定$a的.值
$a = 10;
// 设定$b的值
$b = 5;
// 加法
$c = $a + $b;
# 输出结果
echo $c;
文件:test.php
?
1
2
3
4
5
6
7
8
9
10
11
12
13
echo "源码:
";
show_source('./a.php');
echo "
去除注释后:
";
highlight_string(removeComment(file_get_contents('./a.php')));
/**
* 去除PHP代码注释
* @param string $content 代码内容
* @return string 去除注释之后的内容
*/
function removeComment($content){
return preg_replace("/(\/\*.*\*\/)|(#.*?\n)|(\/\/.*?\n)/s", '', str_replace(array("\r\n", "\r"), "\n", $content));
}
测试输出
执行test.php,输出如下:
正则分析
?
1
2
3
(\/\*.*\*\/) 匹配 /* */
(#.*?\n) 匹配 # 遇到第一个回车后结束
(\/\/.*?\n) 匹配 // 遇到第一个回车后结束
【php正则去掉php注释】相关文章: