给出像这样的字符串
$str = '\007\t\007\006\006\t\n\026\r\\\045';
格式化并输出未转义的字符串
\t - tabulation
等等。
我可以通过使用替换来解决这个问题,但也许有更好的解决方案?
答案 0 :(得分:1)
我能想到的最好的是:
eval('$str_unescaped = "' . str_replace('"', '\"', $str) . '";');
如果字符串包含任何嵌入的双引号,则需要 str_replace
。但如果它包含嵌入的\"
序列,它仍然会出错。
答案 1 :(得分:1)
stripcslashes
将会忽略它,它会识别类似于C的\ n,\ t等,八进制和十六进制表示。