如何在PHP中unescape字符串?

时间:2015-10-13 20:59:41

标签: php string escaping

给出像这样的字符串

$str = '\007\t\007\006\006\t\n\026\r\\\045';

格式化并输出未转义的字符串 \t - tabulation等等。

我可以通过使用替换来解决这个问题,但也许有更好的解决方案?

2 个答案:

答案 0 :(得分:1)

我能想到的最好的是:

eval('$str_unescaped = "' . str_replace('"', '\"', $str) . '";');
如果字符串包含任何嵌入的双引号,则需要

str_replace。但如果它包含嵌入的\"序列,它仍然会出错。

答案 1 :(得分:1)

stripcslashes将会忽略它,它会识别类似于C的\ n,\ t等,八进制和十六进制表示。