2016-08-27 11 views
3

私はWebサイトからいくつかの値を抽出するためにXPath式を使用しています。すなわち:HTMLを構文解析するためのXPath式 - 部分的にワイルドカード式

$res = $xp2->evaluate('//th[.="Imiona"]/following-sibling::*[1][name()="td"]'); 

しかし、私は特別な(ポーランド語)の文字を含む式を作成しようとすると、それは動作しません:

$res = $xp2->evaluate('//th[.="Funkcja w organie zarządzającym"]/following-sibling::*[1][name()="td"]'); 

どのように特殊文字を避けるために、この式を書き換えることができますか?私。 「Funkcja w organie」で始まるテキストを含むTH要素を検索するにはどうすればよいですか?私はこのようなものを試しました:

$res = $xp2->evaluate('//th[.="Funkcja w organie *"]/following-sibling::*[1][name()="td"]'); 

しかし、それは動作していないようです。

+0

あなたがソースコードの右のエンコーディングを得ましたか? – choroba

+0

いいえ、私はそうではありません。エンコードはほとんど予測できません。だからこそ私の表現で特殊な文字を避けたいのです – Gacek

答えて

0

使用starts-with()

$res = $xp2->query('//th[starts-with(text(), "Funkcja w organie ")]/following-sibling::*[1][name()="td"]'); 
+0

ありがとう!できます。 – Gacek

関連する問題