PHP: How to handle <![CDATA[ with SimpleXMLElement? PHP: How to handle <![CDATA[ with SimpleXMLElement? xml xml

PHP: How to handle <![CDATA[ with SimpleXMLElement?


You're probably not accessing it correctly. You can output it directly or cast it as a string. (in this example, the casting is superfluous, as echo automatically does it anyway)

$content = simplexml_load_string(    '<content><![CDATA[Hello, world!]]></content>');echo (string) $content;// or with parent element:$foo = simplexml_load_string(    '<foo><content><![CDATA[Hello, world!]]></content></foo>');echo (string) $foo->content;

You might have better luck with LIBXML_NOCDATA:

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


The LIBXML_NOCDATA is optional third parameter of simplexml_load_file() function. This returns the XML object with all the CDATA data converted into strings.

$xml = simplexml_load_file($this->filename, 'SimpleXMLElement', LIBXML_NOCDATA);echo "<pre>";print_r($xml);echo "</pre>";


Fix CDATA in SimpleXML


This did the trick for me:

echo trim($entry->title);