BFT*_*ick 5 php regex comments
我有preg_replace函数,我正在调用并放在多行上以便于阅读,但*/正则表达式中的字符搞砸了注释.如何在不将它们全部移到一条线上的情况下注释掉所有这些线?
return preg_replace('/.*/',
'Lorem Ipsum' .
'More Lorem Ipsum'
,
$foo);
Run Code Online (Sandbox Code Playgroud)
您可以使用不同的正则表达式模式分隔符:
return preg_replace('#.*#',
'Lorem Ipsum' .
'More Lorem Ipsum'
,
$foo);
Run Code Online (Sandbox Code Playgroud)
编辑: 分隔符是PCRE(Perl Compatible Regular Expresssion)的一个特性.使用不同的分隔符不需要PHP配置.
...您可以使用任何一对非字母数字,非空白字符作为分隔符.这对于匹配包含"/"的路径名特别有用,以避免LTS(倾斜牙签综合征).
非包围分隔符使用相同的字符前后,但四种ASCII括号(圆形,角形,方形,卷曲)全部嵌套
这些都是有效的:
'/.*/'
'#.*#'
'{.*}' /* Note that '{.*{' would be incorrect. */
Run Code Online (Sandbox Code Playgroud)
看一下关于PCRE模式的PHP文档,看看非常好的概述.