0

需要一个简单的 preg_replace 将<br> <br/>所有可能的 br 组合转换为<br />.

这需要按顺序工作,以便我可以处理一个字符串,即: $output = preg_replace('', '<br />', $input)

谢谢大家!

4

5 回答 5

6

[强制性 HTML 解析器注释]

如果您正在使用未知且不一致的 HTML(听起来像您),那么放下正则表达式,您可能会伤害自己。查找标签列表并更改文档是构建 HTML 解析器的目的。

学习PHP DOM 方法并为自己省去很多心痛。

于 2009-12-09T12:50:09.933 回答
3

一个正则表达式来统治它们:

$output = preg_replace('/<\s*br[^>]*>/i', '<br />', $input);
于 2009-12-09T12:59:16.610 回答
0

/< ?[bB][rR] ?/? ?>/

于 2009-12-09T12:45:58.183 回答
-1

试试这个模式

<\s*[bB][rR]\s*\/?\s*>
于 2009-12-09T12:51:44.537 回答
-2
$output = preg_replace('/< ?[bB][rR] ?\/? ?>/', '<br />', $input);
于 2009-12-09T12:48:46.910 回答