宝哥软件园

使用正则性删除php代码中的注释

编辑:宝哥软件园 来源:互联网 时间:2021-09-13

试验码

文件:a.PHP

?Php/** *加法计算*测试*///设置$a=10的值;//设置$b $b=5的值;//添加$ c=$ a $ b;#输出结果echo $ c;文件:test.php

Echo '源代码:br/';show_source('。/a . PHP ');删除注释后回显“HR/br/”;highlight _ string(remove comment(file _ get _ contents(')。/a . PHP '));/* * *移除PHP代码注释* @ param string $ content code content * @移除注释后返回字符串内容*/function remove($ content){ return preg _ replace('/(/ *)。* */) | (#.*?n)|(//。*?n)/s ','',str_replace(数组(' rn ',' r '),' n ',$ content));}测试输出

执行test.php,输出如下:

规律性分析

(/ *.* * /)匹配/* */(#。*?n)匹配#在第一个回车(//)后结束。*?n)匹配//第一次回车后,我们继续添加:

多行注释

?PHP $ s='/* AAAA SSS */*/';preg_match('@/*。*?*/@s ',$s,$ match);var _ dump($ match);运行结果

数组(1) {[0]=字符串(15)'/* aaasss */' }匹配一行注释

?PHP $ str=' a=b;//asdf//SAF b=c;//asdf ';$reg='@s*//。*[email protected]';$res=preg_replace($reg ' ',$ str);echo $ res输出

a=b;b=c;另一个lua版本

局部测试=' int x;/* xx */xx */int y;/* y */'函数string.gfind(test,patten)局部I,j=0,0;return function() i,j=string.find(test,patten,J 1)if(I==nil)then-end find return nil end return string . sub(test,I,J) end end for v in string。gfind(测试,'/%*。-%*/')打印(v)结束输出/* xx *//* y */

Phpstorm常规匹配删除注释行(替换注释行的空行)

用phpstorm写php和javascript代码感觉很好很舒服。

有一个要求。有时,在阅读框架源代码时,您希望过滤(删除)源代码中的注释行。手动逐行删除显示是不科学的。

当然,我想到了一个强大的正则表达式。通过写一个正则表达式,找出所有的注释行,用空格替换,实现了需求。

1.ctrl F,输入正则表达式:(//)。*$)|(/*(.|s)*?*/)

2.ctrl+R,不要输入:

3.单击后面的全部替换

但是,我们发现这并没有完全满足我们的需求,而是用空行代替了注释行。

所以,让我们写另一个正则表达式来匹配空行并删除它们。

1 . ctrl+F,输入正则表达式: n

2 . ctrl+R,不要输入

3.单击后面的全部替换

但是发现空行没有完全删除。(还有一些空行没有删除)

所以,让我们继续一个常规的匹配删除。

1 . ctrl+F,输入正则表达式:sn

2 . ctrl+R,不要输入

3.单击后面的全部替换

好了,这里,删除所有空行。玩得开心-:)

其实这三步应该是一步实现的,大家可以考虑一下!

以上就是边肖带来的使用正则性的php代码中注释方法的全部内容。希望大家多多支持我们~

更多资讯
游戏推荐
更多+