我想用PHP DOM Parser解析一些HTML并替换某些节点中的文本。
HTML示例:
<html><body><div id="content">blablabla</div><div id="article"><p id ="p2">some text here <a href="#"> text 2</a> <a href="#" id="finish"> text 3 </a></p></div></body></html>
我想替换从#p2
开始的文本,字符偏移量为2,即从"me text here "
开始到id为#finish
的元素(字符偏移0,即从第一个字符替换那个节点)。
我有start元素的XPath,即#p2
,即XPathStart = ' /html/body/div/p '
结束元素的XPath,即#finish
,XPathEnd = ' /html/body/div/p/a[2] '
最终结果是只替换该XPath和字符偏移范围内的文本。
替换文本存储在数据库中,可以是:“冬天是一个伟大的季节”。
结果:
<html><body><div id="content">blablabla</div><div id="article"><p id ="p2">soWinter is a <a href="#"> great </a> <a href="#" id="finish"> season </a></p></div></body></html>