Подтвердить что ты не робот

Как отображать XML в HTML на PHP?

У меня есть строка с XML:

$string = 
"
<shoes>
    <shoe>
       <shouename>Shoue</shouename>
    </shoe>
</shoes>
";

И хотел бы показать его на моем веб-сайте, как это:

This is XML string content:
<shoes>
    <shoe>
       <shouename>Shoue</shouename>
    </shoe>
</shoes>

Итак, я хотел бы сделать это:

  • на сайте, а не в текстовом поле
  • без внешних библиотек, фреймворков и т.д.
  • отформатирован с соответствующими новыми строками
  • отформатирован с вкладками
  • без цветов и т.д., только текст

Итак, как это сделать простым и простым способом?

4b9b3361

Ответ 1

Если вам просто требуется текстовое представление вашей (предварительно отформатированной) строки, вы можете обернуть ее в теги HTML <pre/> и использовать htmlentities, чтобы избежать угловых скобок:

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

Ответ 2

вы можете использовать htmlentities(), htmlspecialchars() или какую-либо аналогичную функцию.

Ответ 3

Он должен работать следующим образом:

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

Ответ 4

Если это простой XML-объект

<pre>
<?php
echo htmlspecialchars(print_r($obj,true));
?>
</pre>

Ответ 5

Я искал решение для слегка цветного вывода:

$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";