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 サイトの他の関連記事を参照してください。