2016-03-15 49 views
0

替换\吨(TAB)我已经从数据库无法从字符串

[{"id":"1723","name":"Picanha bovina Maturatta 15,00 250 ","slug":"picanha-bovina-maturatta-15-00-250"}] 

返回其实这个JSON字符串,还有其他的东西,但我从示例中删除它。

当用户上传CSV格式的文件时(这样他们只需从Excel或Google Drive导出数据,无需在CMS中逐项添加),就可以将此数据保存到数据库。

现在,当我得到这些数据并将其发送给Javascript并用JSON解析它时,它会给出一个“意外的标记[tab]”错误。

我试过几件事情要得到它取代

$json = json_encode($input); 
$json = str_replace(array("\r\n", "\r", "\n", "\t", " "), "", $json); 
$json = implode(' ',explode("\t", $json)); 
$json = preg_replace(array('/\s{2,}/', '/[\t\n]/'), ' ', $json); 
$json = trim(preg_replace('/\s+/', '', $json)); 
$json = preg_replace('!\s+!m', ' ', $json); 

这些都不工作。为什么不?注意1:如果我在REGEX字符串中使用/ g变为空白 注意2:我确定有一个\ tab字符,因为如果我在Chrome上将CTRL + F复制/粘贴到Gedit或http://json.parser.online.fr/ I可以看到它。 注3:我改变了直接输入的代码,类似“测试\ t \ t \ t \ t检验”,它仍然doenst工作 注4:使用Javascript可以取代它:JSON.parse(PRODUCTS.split("\t").join(" "))和它的作品

任何人都知道这是为什么?

回答

0
preg_replace('/\t+/', '', $string)