我有一个我想通过代码修改的网页(在特定单词上添加链接)。Xpath选择没有子节点的节点
的HTML代码:
<div class="section">
<h2>Notre histoire</h2>
<p style="text-align: justify;">SPECIFICS WORDS<strong>1998 : la création</strong></p>
<p style="text-align: justify;">pour objectif « de promouvoir, selon une démarche d’éducation active, auprès des jeunes et à travers eux, des projets d’expression collective et d’action de solidarité » (article 2).<br><br><strong>1999-2001 : les débuts SPECIFICS WORDS</strong></p>
<p style="text-align: justify;">SPECIFICS WORDS<a href="#">SPECIFICS WORDS</a></p>
</div>
所以我的目标是在的preg_replace特定的词,但只有那些谁在P,而是出于从A或强,或任何两种标签。
我不能使用任何类或任何ID,因为我不知道代码之前! 我尝试了preg_replace PHP函数,但它没有工作,并且执行时间太长。
所以我的问题是: 如何用XPATh选择一个没有A,STRONG,IMG chidrens的节点?
我的第一印象是,除非你使用XHTML和可以保证没有特殊字符(比如'' ),你将有麻烦通过XPATH来处理,因为这将有确认符合XML标准。 (可能是错误的) – freefaller
一般来说,XPath表达式选择一个在A中但不在B中的节点是'A // node()[not(ancestor :: B)]'如果你想文本节点,您需要用'text()'替换'node()'。 – biziclop