PHP正则表达式将两个斜杠(//)替换为新行

时间:2012-09-04 23:29:21

标签: php regex replace comments

我在这里尝试做的是获取一个字符串,该字符串可能具有通常的代码注释,并将其替换为其他内容,尤其是将其包含在其他内容中。我很确定preg_replace函数可以在这里工作,但我不知道从哪里开始使用正则表达式。例如:

Hello world //this is a comment
Testing //not testing
Test again

会变成

Hello world %//this is a comment%
Testing %//not testing%
Test again

preg_replace('???', '%$1%', $matches);就像我自己可以理解的那样,任何帮助都非常感谢!

2 个答案:

答案 0 :(得分:4)

preg_replace('~//.*$~m', '', $str);

这将删除(并包括)//到行尾

之后的所有内容

http://ideone.com/Xhmpd

preg_replace('~//.*$~m', 'foo \\0 bar', $str);

这将用foo bar围绕

包裹它们

http://ideone.com/IqkWM

答案 1 :(得分:1)

试试这个:

$string = "Hello world //this is a comment";
preg_replace('/\/\/.*/', '%$0%', $string);