我有一個我想通過代碼修改的網頁(在特定單詞上添加鏈接)。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