3

正規表現を適用できるように、htmlタグを含めてエコーアウトしたいhtmlノードのDomnodelistがあります。

            foreach ($nodeList as $key => $node) {
               echo $node->nodeValue;
            }

ノードのテキスト部分のみを取得し、htmlタグは取得しません。

私が試してみると:

echo $ node-> saveHTML;

エラーが発生します:未定義のプロパティ:DOMElement :: $ saveHTML

これどうやってするの?

前もって感謝します、

明細書

4

1 に答える 1

8

saveHTMLは関数なので、呼び出す必要があります(親が不足していました)。それはまたの一部ですDOMDocument; ノードはパラメータとして渡されます。

したがって、正しい形式は次のとおりです。

echo $document->saveHTML($node);

重要な注意:saveHTMLPHP5.3.6以降のパラメーターのみをサポートします。

ただし、正規表現に頼らずに処理DOMDocumentできるように、特に使用します。ここでは反対のことをしようとしているようです。もしそうなら、あなたのアプローチを再考してください-正規表現はHTMLを処理するためのハッキーな方法であり、完全に些細なことではないことをすることにした瞬間に問題を引き起こします。

于 2012-09-15T15:00:00.067 に答える