假设我有一个$str
代表 HTML 文档的字符串。它包含一个$substr
描述一些 HTML DOM 节点的子字符串。我不知道或可以轻松匹配$substr
,我只知道我在寻找什么 DOM 节点。
我最终想用另一个字符串替换这个子字符串$replacement
。
我知道如何使用 PHP 的 DOMDocument 和 Xpath 来查找和提取 DOM 节点,...但只需更改 DOMDocument 然后使用saveHTML
or就会saveXML
出现以下问题:
- 它不仅会改变
$substr
(它会产生有效的 HTML 或 XML,这可能与输入字符串有很大不同) - 有严格的限制
$replacement
:它必须可解析为 (X)HTML/XML。但假设我想拥有$replacement = "<<<<<<<<"
?
有一些子问题可能会有所帮助:
- 有没有办法获取
$str
某个 DOM 节点的开始和结束位置?(类似于 ::getLineNo 方法)?之前有人问过这个问题 是否可以转储 DOMDocument 作为输入的原始字符串的串联?
您看到更简单或更好的解决方案了吗?