我在这个数组上使用json_encode();
而<sup id="1">
中的双引号正在打破它...任何人都可以解释原因吗?不应该构建此功能来自动保护这些数据吗?
array(
'Content' => array(
'GUID' => '7dbbfdfd-d1b2-46bd-934f-0730bcf55495',
'Publish_Date' => '2012-04-10 19:28:13',
'Content_Type' => 'Header',
'Content_Body_Type' => 'OVERVIEW',
'Paperless' => 'REQUIRED_EDELIVERY',
'Status' => 'Proof',
'Body' => htmlentities('<h3>This is a subhead</h3>
<p>This is sample content<sup id="1">1 </sup>with variables: <Outside_Sales><Support_Services_Program></p>
<p>Bulleted list:</p>
<ul>
<li>item 1</li>
<li>item 2</li>
<li>item 3</li>
</ul>
<p>more text</p>'),
我使用http://jsonlint.com来确定问题
答案 0 :(得分:3)
这可能是一个双重转义问题,因为您使用htmlentities()
然后json_encode()
。
只需使用json_encode()
。
一般来说,最好只在输出过程中逃避。这样你就可以维护原始数据了。
答案 1 :(得分:0)
你需要去掉,通过。在每个双引号之前添加\ - 例如:\“1 \”