Как отобразить XML в HTML в PHP?
У меня есть строка с XML:
$string =
"
<shoes>
<shoe>
<shouename>Shoue</shouename>
</shoe>
</shoes>
";
И хотел бы отобразить его на моем веб-сайте следующим образом:
This is XML string content:
<shoes>
<shoe>
<shouename>Shoue</shouename>
</shoe>
</shoes>
Поэтому я хотел бы сделать это:
- на сайте, а не в текстовом поле
- без внешних библиотек, фреймворков и т.д.
- отформатированный с правильными новыми строками
- отформатированный с помощью вкладок
- без цветов и т.д., только текст
Итак, как это сделать простым и понятным способом?
30
Author: Tomasz Smykowski, 2010-05-19
5 answers
Если вам просто нужно текстовое представление вашей (предварительно отформатированной) строки, вы можете обернуть ее в теги HTML <pre/>
и использовать htmlentities
чтобы избежать угловых скобок:
<?PHP echo '<pre>', htmlentities($string), '</pre>'; ?>
61
Author: Chris, 2010-05-19 09:40:46
Вы можете использовать htmlentities()
, htmlspecialchars()
или какая-то аналогичная функция.
6
Author: Sinan, 2010-05-19 09:40:14
Это должно работать так:
echo '<p>This is XML string content:</p>'
echo '<pre>';
echo htmlspecialchars($string);
echo '</pre>';
6
Author: justastefan, 2010-05-19 09:40:47
Если это симплексный объект
<pre>
<?php
echo htmlspecialchars(print_r($obj,true));
?>
</pre>
1
Author: Frank Forte, 2014-10-08 14:42:39
Я искал решение, которое имело бы слегка окрашенный вывод:
$escaped = htmlentities($content);
$formatted = str_replace('<', '<span style="color:blue"><', $escaped);
$formatted = str_replace('>', '></span>', $formatted);
echo "<pre>$formatted</pre>\n";
1
Author: H.Tries, 2017-02-28 13:12:31