注释包含#/字符的PHP行

注释包含#/字符的PHP行,php,Php,如何注释掉下面这行PHP代码 $html = preg_replace('#(<br */?>\s*)+#i', '<br />', $html); $html=preg#u replace('#(\s*)+#i','',$html); 虽然可以通过以下方式禁用该行: if (0==1) $html = preg_replace('#(<br */?>\s*)+#i', '<br />', $html); if(0==1) $html

如何注释掉下面这行PHP代码

$html = preg_replace('#(<br */?>\s*)+#i', '<br />', $html);
$html=preg#u replace('#(\s*)+#i','
',$html);
虽然可以通过以下方式禁用该行:

if (0==1)
    $html = preg_replace('#(<br */?>\s*)+#i', '<br />', $html);
if(0==1)
$html=preg#u replace('#(\s*)+#i','
',$html);

但这仍然不是一个评论

我能想到的最好办法是将正则表达式模式剥离到它自己的变量中,然后使用“
”拆分这个字符串。我受到了以下答案的启发,这也建议重做正则表达式,但不确定这是否是一种选择

资料来源:

样本:

/*

$pattern = "'#(<br *" . "/?>\s*)+#i'";

$html = preg_replace($pattern, '<br />', $html);

*/
/*
$pattern=“”#(\s*)+#i';
$html=preg_replace($pattern,
,$html); */
我能想到的最好办法是将正则表达式模式剥离到它自己的变量中,然后使用“
”拆分这个字符串。我受到了以下答案的启发,这也建议重做正则表达式,但不确定这是否是一种选择

资料来源:

样本:

/*

$pattern = "'#(<br *" . "/?>\s*)+#i'";

$html = preg_replace($pattern, '<br />', $html);

*/
/*
$pattern=“”#(\s*)+#i';
$html=preg_replace($pattern,
,$html); */
问题在于@Nigel Ren在评论中提到了什么。 那个?模式可以省略,因为*这使它

//$html = preg_replace('#(<br *>\s*)+#i', '<br />', $html);
应该被注释掉。在这种情况下?可替换为\x3f(注意:双引号中!)


这是PHP的相同字符串,但不是PHP结束标记。

问题在于?>评论中提到的@Nigel Ren。 那个?模式可以省略,因为*这使它

//$html = preg_replace('#(<br *>\s*)+#i', '<br />', $html);
应该被注释掉。在这种情况下?可替换为\x3f(注意:双引号中!)


这是PHP的同一字符串,但不是PHP结束标记。

我认为
?>
是问题所在,因为它认为这是PHP代码的结束。如果您想让它一直工作到正确的答案出现,请将正则表达式更改为
。#(\s*)+#我认为
\>
愚弄了它。我认为
?>
是问题所在,因为它认为这是PHP代码的结尾。如果您想让它一直工作到正确的答案出现,请将正则表达式更改为
。#(\s*)+#我认为
\>
愚弄了它。我认为你在正则表达式中缺少了一些引号。我认为你在正则表达式中缺少了一些引号。