【发布时间】:2012-12-19 08:45:44
【问题描述】:
我有大量的 html 文本数据集,我经常发现 <li> 标记中的 <br> 换行符是不必要的,有时甚至是多个。
例如:
<li>Some string here<br></li><br><li>Another string here<br><br></li><br>
我想删除出现在<li> 和</li> 之间的这些<br>,但保留其他所有内容,包括<br> 之外的<li> 标记。上面的文字会变成:
<li>Some string here</li><br><li>Another string here</li><br>
用 php 中的 preg_replace() (或 python 中的 re.sub() )执行此操作的正则表达式是什么?
【问题讨论】:
-
“什么是正则表达式?”你要付给我多少钱?
-
你是用PHP把内容放到li标签里的吗?
-
@AaronMiller 不,只是试图从原始文本中删除。我没有插入任何东西。
-
你确实不使用正则表达式来破坏 html。你使用 DOM。
-
我建议您使用
HTML解析器在<li>标签中查找前导和尾随<br>s。此处建议的正则表达式可能适用于您的示例,但请注意HTML不是正则语言,通常无法使用正则表达式解析!
标签: php python regex html-parsing