如何在 PHP 中以 HTML 格式显示 XML?
Posted
技术标签:
【中文标题】如何在 PHP 中以 HTML 格式显示 XML?【英文标题】:How to display XML in HTML in PHP? 【发布时间】:2011-02-21 07:12:33 【问题描述】:我有一个带有 XML 的字符串:
$string =
"
<shoes>
<shoe>
<shouename>Shoue</shouename>
</shoe>
</shoes>
";
并希望像这样在我的网站上显示它:
This is XML string content:
<shoes>
<shoe>
<shouename>Shoue</shouename>
</shoe>
</shoes>
所以我想这样做:
在网站上,不在文本框中 无需外部库、框架等。 用适当的新行格式化 使用制表符格式化 没有颜色等,只有文字那么如何简单明了地做到呢?
【问题讨论】:
【参考方案1】:如果您只想要(预格式化)字符串的纯文本表示,可以将其包装在 html <pre/>
标记中并使用 htmlentities
转义尖括号:
<?php echo '<pre>', htmlentities($string), '</pre>'; ?>
【讨论】:
@anto.nishanth 首先echo
是一种语言结构,因此不需要将其表示为函数。然后在这里 Chris 使用多个参数构造,您正在谈论连接到单个参数。请阅读文档以获取更多详细信息php.net/echo。【参考方案2】:
您可以使用htmlentities()
、htmlspecialchars()
或一些类似的功能。
【讨论】:
【参考方案3】:它应该是这样工作的:
echo '<p>This is XML string content:</p>'
echo '<pre>';
echo htmlspecialchars($string);
echo '</pre>';
【讨论】:
【参考方案4】:如果是 SimpleXMLobject
<pre>
<?php
echo htmlspecialchars(print_r($obj,true));
?>
</pre>
【讨论】:
【参考方案5】:我搜索了一种解决方案,使输出略带颜色:
$escaped = htmlentities($content);
$formatted = str_replace('<', '<span style="color:blue"><', $escaped);
$formatted = str_replace('>', '></span>', $formatted);
echo "<pre>$formatted</pre>\n";
【讨论】:
以上是关于如何在 PHP 中以 HTML 格式显示 XML?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 html 页面中以适当的格式显示 CPP、Java 或任何其他编程语言代码? [关闭]