【发布时间】:2011-05-08 12:03:28
【问题描述】:
我想修改格式不太错误的 HTML(WordPress 帖子)中的 <img src=""> 属性。我知道我可以采取简单的方法并使用正则表达式,但恐怕people in blue furry suits will come haunt me in my sleep。
如果我使用 DOM 解析器来读取 HTML 并修改 <img> 标记,恐怕我无法完全按照原样重建帖子(仅通过我的修改),因为 DOM 解析器可能会这样做清理过多,可能会删除基本数据。 SAX 解析器可能无法处理无效的 XML,因此这也不起作用。
那么,有没有一种中间方式,我可以使用 DOM 解析器,但它知道每个元素从哪里开始,所以我可以从那里进行字符串替换或类似的事情?我知道 DOM 树中的某些节点不会存在于源文档中(<b>Some <i>bizarre</b> formatting</i> 可能会触发这个),但这是否意味着它总是不可能的?我看到在 PHP 5.3 中添加了一个DOMNode::getLineNo() function,但我使用的是 5.2.x。
【问题讨论】:
标签: php dom html-parsing