解析HTML并基于charOffset替换nodeValues

时间:2015-11-19 23:37:49

标签: php html xpath str-replace

我想用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,即#finishXPathEnd = ' /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>

0 个答案:

没有答案