将所有br标签转换为一个通用<br/>

时间:2009-12-09 12:42:45

标签: php preg-replace

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

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

谢谢大家!

5 个答案:

答案 0 :(得分:6)

[强制性HTML解析器评论]

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

了解PHP DOM Methods并为自己省去很多心痛。

答案 1 :(得分:3)

一个RegEx来统治它们:

$output = preg_replace('/<\s*br[^>]*>/i', '<br />', $input);

答案 2 :(得分:0)

/&LT; ?[bB] [rR]?/? ?&GT; /

答案 3 :(得分:-1)

尝试这种模式

<\s*[bB][rR]\s*\/?\s*>

答案 4 :(得分:-2)

$output = preg_replace('/< ?[bB][rR] ?\/? ?>/', '<br />', $input);