0

很简单,但我不明白我错在哪里。代码是:

<?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>'
4

1 回答 1

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;

这应该在浏览器中为您提供所需的内容。

于 2013-08-15T02:14:18.613 回答