需要一个简单的preg_replace将所有<br>
<br/>
和所有可能的br组合转换为<br />
。
这需要按顺序工作,所以我可以处理一个字符串,即:
$output = preg_replace('', '<br />', $input)
谢谢大家!
答案 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);