我们可以将XML字符串嵌入为JSON属性值

时间:2013-08-15 02:22:20

标签: php xml json

我想在PHP数组中存储XML字符串。不应解析XML字符串。如何防止PHP解析XML字符串。

$tooltip=array( '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);
    print_r($tooltip);

我期望输出为;

Array ( [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 )

但我得到了;

Array ( [headerFormat] => {point.key} [pointFormat] => 0 [footerFormat] =>
[shared] => true [useHTML] => true ) 

3 个答案:

答案 0 :(得分:0)

我试图重现你的发现,但这对我来说似乎都很正常。只要引用带有单引号'的字符串,就不会对其进行解析。您可以使用var_dump,e。echo var_dump($tooltip)

更可靠地检查输出

答案 1 :(得分:0)

您正在通过浏览器显示它 - 这是在进行解析。

如果您查看页面源,则会看到所需的输出。

答案 2 :(得分:0)

尝试:

echo htmlentities(print_r($tooltip, true));

print_r()的第二个参数使其返回格式化的值而不是显示它。 htmlentities()将对字符串进行编码,以便将所有特殊HTML字符视为文字,而不是由浏览器解释。