如何转义 php 中的字符串?
How to unescape string in php?
给定一个这样的字符串
$str = '[=11=]7\t[=11=]7[=11=]6[=11=]6\t\n6\r\5';
格式化并输出未转义的字符串,以便
\t - tabulation
等等。
我可以通过替换来解决这个问题,但也许有更好的解决方案?
我能想到的最好的是:
eval('$str_unescaped = "' . str_replace('"', '\"', $str) . '";');
如果字符串包含任何嵌入的双引号,则需要 str_replace
。但如果它包含嵌入的 \"
序列,它仍然会出错。
stripcslashes
将对此进行转义,它识别 C 类 \n、\t 等八进制和十六进制表示形式。
给定一个这样的字符串
$str = '[=11=]7\t[=11=]7[=11=]6[=11=]6\t\n6\r\5';
格式化并输出未转义的字符串,以便
\t - tabulation
等等。
我可以通过替换来解决这个问题,但也许有更好的解决方案?
我能想到的最好的是:
eval('$str_unescaped = "' . str_replace('"', '\"', $str) . '";');
如果字符串包含任何嵌入的双引号,则需要 str_replace
。但如果它包含嵌入的 \"
序列,它仍然会出错。
stripcslashes
将对此进行转义,它识别 C 类 \n、\t 等八进制和十六进制表示形式。