如何使用 preg_replace 搜索并替换 HTML 文档中的特定内容区域
我有一个 HTML 文档,其中有一个要替换的表格,但是我不知道表格的内容是什么,所以我需要搜索开始和结束表格标签,然后替换它们之间的内容。我对正则表达式有点不熟悉,所以我很难弄清楚如何做到这一点......有什么想法吗?
更新:有问题的 HTML 可以作为字符串提供给我,我无法插入任何额外的数据或以任何方式更改 HTML...我需要能够在开始时搜索打开和关闭模式和 HTML 中表格的末尾,然后替换中间的内容。 :)
I have a HTML document with the a table which I want to replace, however I don't know what the content of the table will be so I need to search for the opening and closing table tags and then replace the content between them. I'm a bit of a n00b with regular expressions so I'm having trouble working out how to do this... any ideas?
Update: The HTML in question is available to me as a string and I'm not able to insert any extra data or change the HTML in any way... I need to be able to search for a opening and closing pattern at the start and end of the table in the HTML and then replace the contents in-between. :)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不要为此使用正则表达式,请查看解析器。例如,在
DOMDocument
实例中加载 HTML,使用DOMXPath
或getElementsByTagName
搜索表,然后使用replaceNode
code> 或其他操作函数。使用正则表达式执行此操作通常非常不可靠。Do NOT use regular expressons for this, look into parsers. For instance, load the HTML in a
DOMDocument
instance, search the table with eitherDOMXPath
orgetElementsByTagName
, and use thereplaceNode
or other manipulation functions. Doing it with regexes is usually very unreliable.HTML 文档是您自己的,还是从其他网站通过
file_get_contents()
编辑的?如果是第一种,只需将 HTML 更改为并为其指定
.php
或.inc
扩展名。然后,在您的主文件中:如果不需要,则无需解析 HTML。
Is the HTML document your own, or
file_get_contents()
ed from a another site? If the first, just change the HTML toand give it a
.php
or.inc
extension. Then, in your main file:No point parsing HTML if you don't have to.