我有 preg_replace 函数,我正在调用该函数并将其放在多行以提高可读性,但*/
正则表达式中的字符会混淆注释。如何在不将它们全部移到一行的情况下注释掉所有这些行?
return preg_replace('/.*/',
'Lorem Ipsum' .
'More Lorem Ipsum'
,
$foo);
您可以使用不同的正则表达式模式分隔符:
return preg_replace('#.*#',
'Lorem Ipsum' .
'More Lorem Ipsum'
,
$foo);
编辑: 分隔符是 PCRE(Perl 兼容正则表达式)的一个特性。无需 PHP 配置即可使用不同的分隔符。
...您可以使用任何一对非字母数字、非空白字符作为分隔符。这对于匹配包含“/”的路径名特别有用,以避免 LTS(倾斜牙签综合症)。
非括号定界符前后使用相同的字符,但四种 ASCII 括号(圆、角、方、花)全部嵌套
这些都是有效的:
'/.*/'
'#.*#'
'{.*}' /* Note that '{.*{' would be incorrect. */
查看PHP 的 PCRE 模式文档,了解一个非常好的概述。