如何从外部剥离标签等;(引号)在php中?

如何从外部剥离标签等;(引号)在php中?,php,regex,json,Php,Regex,Json,我已经使用户输入了JSON。这意味着我有时会在引号之外找到制表符、换行符等,它们会使它变得漂亮。在处理之前,我想去掉这些不需要的字符 例如(从日志中): 实际上 {\r\n\t\t\t\t"dest":"dest@email.com",\r\n\t\t\t\t"sender":"sender@email."} 如何在不影响引号内故意使用的字符的情况下,从引号外删除这些不需要的字符?在这种情况下,您不需要删除“\t”或“\n”。您只需对字符串进行json_解码,就可以得到正确的键/值对 $jso

我已经使用户输入了JSON。这意味着我有时会在引号之外找到制表符、换行符等,它们会使它变得漂亮。在处理之前,我想去掉这些不需要的字符

例如(从日志中):

实际上

{\r\n\t\t\t\t"dest":"dest@email.com",\r\n\t\t\t\t"sender":"sender@email."}

如何在不影响引号内故意使用的字符的情况下,从引号外删除这些不需要的字符?

在这种情况下,您不需要删除“\t”或“\n”。您只需对字符串进行json_解码,就可以得到正确的键/值对

$json = "{\t \t\n \"dest\":\"dest@email.com\",\r\n \t\"sender\":\"sender@email.\"}";
foreach(json_decode($json,TRUE)as $key=>$value){
    echo "#$key:$value#\n";
} 
输出:

#dest:dest@email.com#
#sender:sender@email.#

如您所见,“\t”和“\n”不是密钥的一部分。此外,在一般情况下,如果这些字符是值的一部分,您可能希望保持它们完整(例如多行uer地址)

这些数字字符到底是什么意思?这是从我的日志中转储的,可以转义这些字符。我也编辑过以显示真实的字符串。太棒了!我接受了你的答案并改编成:$json=json_encode(json_decode($json,TRUE));这给了我完全相同的json,但没有绒毛。非常感谢。
#dest:dest@email.com#
#sender:sender@email.#