如何去除多余的
使用 PHP 从 HTML 代码中获取标签?
我正在用 PHP 解析一些混乱的 HTML 代码,其中有一些多余的
标签,我想稍微清理一下它们。例如:
<br>
<br /><br />
<br>
我如何使用 preg_replace() 替换类似的内容?:
<br /><br />
换行符、空格以及
、
之间的差异> 和
都必须考虑在内。
编辑:基本上我想将三个或更多连续中断的每个实例替换为两个。
I'm parsing some messy HTML code with PHP in which there are some redundant
tags and I would like to clean them up a bit. For instance:
<br>
<br /><br />
<br>
How would I replace something like that with this using preg_replace()?:
<br /><br />
Newlines, spaces, and the differences between <br>
, <br/>
, and <br />
would all have to be accounted for.
Edit: Basically I'd like to replace every instance of three or more successive breaks with just two.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(5)
使用str_replace,它更适合简单替换,并且您还可以传递数组而不是单个搜索值。
Use str_replace, its much better for simple replacement, and you can also pass an array instead of a single search value.
尝试使用:
Try with:
这将替换所有中断...即使它们是大写的:
this will replace all breaks ... even if they're in uppercase:
这应该可以使用最小说明符:
也应该匹配令人震惊的
gt;
结构。
This should work, using minimum specifier:
Should match appalling
<br><br /><br/><br>
constructions too.这是你可以使用的东西。第一行查找只要有 2 个或更多
标记(不同类型之间有空格),并将它们替换为格式良好的
。>
如果您也需要的话,我还添加了第二行来清理其余的
标记。Here is something you can use. The first line finds whenever there is 2 or more
<br>
tags (with whitespace between and different types) and replace them with wellformated<br /><br />
.I also included the second line to clean up the rest of the
<br>
tags if you want that too.