Javascript Can';t从字符串中替换\t(制表符)
我有一个从数据库返回的JSON字符串Javascript Can';t从字符串中替换\t(制表符),javascript,php,json,regex,preg-replace,Javascript,Php,Json,Regex,Preg Replace,我有一个从数据库返回的JSON字符串 [{"id":"1723","name":"Picanha bovina Maturatta 15,00 250 ","slug":"picanha-bovina-maturatta-15-00-250"}] 实际上,还有其他东西,但我从示例中删除了它 当用户以CSV格式上传文件时,这些数据会保存到数据库中(这样他们就可以从Excel或Google Drive导出数据,而不需要在CMS中逐项添加数据) 现在,当我获取这些数据并将其发送到Javascr
[{"id":"1723","name":"Picanha bovina Maturatta 15,00 250 ","slug":"picanha-bovina-maturatta-15-00-250"}]
实际上,还有其他东西,但我从示例中删除了它
当用户以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:如果我在正则表达式中使用/g,字符串将变为空白
注2:我确定有一个\tab字符,因为如果我在Chrome上按CTRL+F或将其复制/粘贴到Gedit,或者我可以看到它。
注3:我直接在代码上更改了输入,类似于“test\t\t\t测试”,但仍然不起作用
注4:Javascript可以替换它:JSON.parse(PRODUCTS.split(“\t”).join(“”)
,它可以工作
有人知道为什么吗
preg_replace('/\t+/', '', $string)