I am responding to an AJAX call by sending it an XML document through PHP echos. In order to form this XML document, I loop through the records of a database. The problem is that the database includes records that have ‘<‘ symbols in them. So naturally, the browser throws an error at that particular spot. How can this be fixed?
Share
By either escaping those characters with
htmlspecialchars, or, perhaps more appropriately, using a library for building XML documents, such as DOMDocument or XMLWriter.Another alternative would be to use CDATA sections, but then you’d have to look out for occurrences of
]]>.Take also into consideration that that you must respect the encoding you define for the XML document (by default UTF-8).