ホームページ >バックエンド開発 >PHPチュートリアル >PHP で SimpleXMLElement を使用して CDATA コンテンツを抽出する方法?

PHP で SimpleXMLElement を使用して CDATA コンテンツを抽出する方法?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-17 12:58:021023ブラウズ

How to Extract CDATA Content Using SimpleXMLElement in PHP?

PHP で SimpleXMLElement を使用した CDATA の処理

SimpleXMLElement によって解析された XML ドキュメント内の CDATA タグを処理する場合、コンテンツの抽出が困難になる場合があります。デフォルトでは、->content 経由で CDATA セクションを含むノードにアクセスすると NULL が返されます。

解決策 1: 直接出力またはキャスト

CDATA コンテンツを取得するには、直接出力することも、文字列にキャストすることもできます。どちらの方法でも、CDATA を有効な PHP 文字列に効果的に変換します。

$content = simplexml_load_string(
    '<content><![CDATA[Hello, world!]]></content>'
);
echo (string) $content; // Output: 'Hello, world!'

解決策 2: LIBXML_NOCDATA

または、解析中に LIBXML_NOCDATA オプションを指定して、すべてを無視することもできます。 CDATA セクションを作成し、それらを通常のテキスト ノードとして扱います:

$content = simplexml_load_string(
    '<content><![CDATA[Hello, world!]]></content>'
    , null
    , LIBXML_NOCDATA
);
echo (string) $content; // Output: 'Hello, world!'

これらのメソッドを使用すると、SimpleXMLElement を使用して XML ドキュメント内の CDATA を正常に処理でき、コンテンツへのアクセスが可能になります。

以上がPHP で SimpleXMLElement を使用して CDATA コンテンツを抽出する方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。