Internal function used to enclose text strings in CDATA tags.


string cdata_parse (string $data, string $ns)

Parameter $data

Expected type: String
Description: Either the text that should be enclosed in CDATA or one or more lines of a document (when adding a namespace)

Parameter $ns

Expected type: String
Description: The namespace to use for the document, if any

Return value

Expected type: String
Description: Returns the passed string enclosed in CDATA tags (with namespace added if ns was specified)


  • Encloses strings in tags
  • Looks for pre-defined entities (&, <, > and ') and moves them outside the CDATA sections to ensure they are parsed properly (see
  • Converts ] to an entity as well, since ] is illegal inside CDATA
  • Can be used to add a namespace to an entire document or a single line within a document while also enclosing everything in CDATA
  • Strips off empty CDATA sections at the end before returning string