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