XML字符串作为字符串存储在变量中而不通过PHP解析(JSON中的xml)

时间:2013-08-15 01:35:11

标签: xml json

简单但我无法理解我错在哪里。代码是:

<?php
$v='<?xml version="1.0" ?><span style="font-size:10px">{point.key}</span><table>';
print $v;
?>

我希望浏览器输出为

'<?xml version="1.0" ?><span style="font-size:10px">{point.key}</span><table>'

但浏览器打印

{point.key}

如果我查看页面来源,我会

<?xml version="1.0" ?><span style="font-size:10px">{point.key}</span><table>

我很困惑。如果$ v变量具有未解析的xml字符串。实际上我遇到了这个问题,用JSON转移XML字符串

"tooltip": {
                headerFormat: '<span style="font-size:10px">{point.key}</span><table>',
                pointFormat: '<tr><td style="color:{series.color};padding:0">{series.name}:</td><td style="padding:0"><b>{point.y:.1f} mm</b></td></tr>',
                footerFormat: '</table>',
                shared: true,
                useHTML: true
    },

我得到的地方

headerFormat: '{point.key}'`

而不是

headerFormat:'<span style="font-size:10px">{point.key}</span><table>'

1 个答案:

答案 0 :(得分:0)

打印$v后,浏览器会解释标签。如果您不希望将<span>之类的内容视为实际HTML,则必须转义该字符串。 PHP中最简单的方法是使用htmlspecialchars()

<?php
$v='<?xml version="1.0" ?><span style="font-size:10px">{point.key}</span><table>';
print htmlspecialchars($v);
?>

这将逃脱所有大城市和小城镇等的输出:

&lt;?xml version=&quot;1.0&quot; ?&gt;&lt;span style=&quot;font-size:10px&quot;&gt;{point.key}&lt;/span&gt;&lt;table&gt;

可以在浏览器中为您提供所需内容。