【发布时间】:2012-06-24 14:42:21
【问题描述】:
我有一个网页,我想通过代码修改(在特定字词上添加链接)。
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 或 STRONG 或任何一个标签中出来的人。
我不能使用任何类或任何 id,因为我以前不知道代码! 我尝试了 preg_replace PHP 函数,但它不起作用,并且执行时间太长。
所以我的问题是: 如何用 XPATH 选择没有 A、STRONG、IMG 子节点的节点?
【问题讨论】:
-
我的第一印象是,除非您使用 XHTML 并且可以保证没有特殊字符(如
&nbsp;),否则您将无法通过 XPATH 进行处理,因为它必须确认 XML 标准。不过我可能是错的(众所周知!) -
一般来说,选择一个在A中但不在B中的节点的XPath表达式是
A//node()[not(ancestor::B)],如果只需要文本节点,则需要将node()替换为text()。跨度>