からjsonでエンコードされた応答を返す関数があります$_POST
:
function getdatafrompost(){
$raw = '';
$httpContent = fopen('php://input', 'r');
while ($kb = fread($httpContent, 1024))
$raw .= $kb;
fclose($httpContent);
$params = array();
parse_str($raw, $params);
if (isset($params['data']))
$retdata = json_decode(stripslashes($params['data']));
else
$retdata = json_decode(stripslashes($raw)); <====Returns Null
return $retdata;
}
読み取られる生データは次のとおりです。
{"recordid":"099ac8aa-0a43-11e2-860f-0016177c526f","ntsdataid":"","trkdataid":"5628af8e-08db-11e2-860f-0016177c526f","activitydate":"2012-09-29","activitytime":"10:36:21","activityname":" from S. Interrante","activitynote":"<i><font color=\"99CC00\" size=\"4\"><b><font face=\"verdana\">fgsdfgsdgsdfgsdgsdgsdfg</font>\u200b</b></font></i>"}
問題は$retdata
nullを返すことです。これは、HTML を含む「activitynote」フィールドにあるようです。"activitynote" に HTML が含まれていない場合、データは適切に解析されます。データを解析するためのより良いアプローチはありますか? 私は何か間違ったことをしていますか?