Home » Php » How to display XML in HTML in PHP?

How to display XML in HTML in PHP?

Posted by: admin April 23, 2020 Leave a comment


I have a string with XML:

$string = 

And would like display it on my website like this:

This is XML string content:

So I would like to do it:

  • on site, not in textbox
  • without external libraries, frameworks etc.
  • formatted with proper new lines
  • formatted with tabs
  • without colors etc., only text

So how to do it in plain and simple way?

How to&Answers:

If you just want a plain-text representation of your (pre-formatted) string, you can wrap it in HTML <pre/> tags and use htmlentities to escape the angle brackets:

<?PHP echo '<pre>', htmlentities($string), '</pre>'; ?>


you can use htmlentities(), htmlspecialchars() or some similar function.


It should work like that:

echo '<p>This is XML string content:</p>'
echo '<pre>';
echo htmlspecialchars($string);
echo '</pre>';


If it is a SimpleXMLobject

echo htmlspecialchars(print_r($obj,true));


I searched for a solution to have slightly coloured output:

$escaped = htmlentities($content);
$formatted = str_replace('&lt;', '<span style="color:blue">&lt;', $escaped);
$formatted = str_replace('&gt;', '&gt;</span>', $formatted);
echo "<pre>$formatted</pre>\n";