2
HTML文字列からすべてのプレーンテキストノードの配列を取得する方法はありますか?すべてのテキストノードを解析するPHP DOM
<p>This is a <b>nested <i>HTML</i> tag<b>...</p>
This is a
、nested
、HTML
、tag
、および独立した要素として...
として取得することになります。私は、このような文字列は、それが独立して「ネストされた」要素を取得したいと思います。
グーグルとSOの検索が一緒にコードのこの混乱をピースに私をリードしてきました:
$doc = new DOMDocument();
$doc->loadHTML($contents);
$doc->loadHTML("<p>not in the brackets..</p>");
$xpath = new DOMXPath($doc);
$textnodes = $xpath->evaluate('//text()');
echo '<pre>'.print_r($textnodes,1).'</pre>';die;
これは私を与えている:
DOMNodeList Object
(
)
私は前に、任意のDOMオブジェクトを使ったことがない - もあります私のXPath偉大な - 私はここで水の非常に感じる!どんな助けもありがとう。
DOMオブジェクトで 'print_r'や' var_dump'を使うことはできません。彼らは内部を公開していません。あなたのXPathは正しいです。テキストを出力するには、 'DOMNodeList'を' foreach($ textnodes as $ textnodes)echo $ textnode-> wholeText; 'に反復します。 http://codepad.viper-7.com/7lsFRGを参照してください – Gordon
常に愚かなもの!ありがとうございました。 – Pete171