【发布时间】:2011-02-05 03:05:06
【问题描述】:
我想用 PHP 替换字符串中的所有换行符(<br> 或 <br />)。使用 preg_replace 我应该使用什么正则表达式?
谢谢!
【问题讨论】:
-
请不要使用正则表达式来解析或修改 HTML。
<center>受不了了,为时已晚。 stackoverflow.com/questions/1732348/…
我想用 PHP 替换字符串中的所有换行符(<br> 或 <br />)。使用 preg_replace 我应该使用什么正则表达式?
谢谢!
【问题讨论】:
<center> 受不了了,为时已晚。 stackoverflow.com/questions/1732348/…
将|<br\s*/?>|i 替换为“字符串”。
(请注意,即使 <br /> 也不能使用正则表达式解析 HTML — 例如,如果 <br /> 是某些内联 Javascript 中字符串的一部分怎么办?使用解析器来获得可靠的结果。)
【讨论】:
/<br[^>]*>/
应该做......并且也处理<br clear="all">。 (如果这不是必需的,请改用KennyTM's solution。在所有情况下,您应该阅读他的免责声明。)
【讨论】:
/<br[^>]*+>/
[^>]) 不能使用它后面的字符 (>),你应该使用所有格量词来防止可能的不必要的回溯。
如果有帮助,请检查一下,如果这里有任何问题,请回复。
$str = 'This is a test string<br>.and another string <br>that will replace<br> with <br />';
$pattern = "/<br>/";
$replace = "<br />";
echo preg_replace($pattern, $replace, $str);
【讨论】:
编辑:
$string = str_replace(array('<br>','<br />'),'', $string);
哦,正则表达式并不是万能的理想工具
所以如果你认为坚持使用preg_replace 不再有意义,你可以使用这个
【讨论】:
<br> AND <br /> 实例。