【发布时间】:2012-12-11 16:08:53
【问题描述】:
我正忙于一个必须使用不同语言的 PHP 项目,所以我制作了一个系统,其中包含从文件中读取的字符串,但是当我想读取这样的文件时:
用户名/\n密码错误
它显示 \n 而不是将其转义到换行符。我怎样才能让 PHP 做到这一点?
已经, 迪克威尔姆
【问题讨论】:
-
你能显示打印出来的代码吗?
我正忙于一个必须使用不同语言的 PHP 项目,所以我制作了一个系统,其中包含从文件中读取的字符串,但是当我想读取这样的文件时:
用户名/\n密码错误
它显示 \n 而不是将其转义到换行符。我怎样才能让 PHP 做到这一点?
已经, 迪克威尔姆
【问题讨论】:
考虑使用合适的存储格式,而不是您自己创建的格式。 base64_encode() 或 json_encode() 都是不错的选择。
但是,要解决您眼前的问题,只需使用 str_replace()
$new = str_replace('\n', "\n", $str);
【讨论】:
这可能是因为您将字符串封装在单引号' 中。您必须将字符串封装在双引号 " 中才能使 \n 工作。
例子:
http://codepad.viper-7.com/Fr4SHH
请注意,在网页上显示时,我使用函数 nl2br 将 \n 替换为 <br />。但是您可以看到,在第一个字符串中,\n 被简单地打印为一个字符串,但 \n 确实在第二个字符串中被解析。
这是因为 PHP 将 \n 视为某种变量。而且变量只能在带双引号的字符串中使用。
【讨论】: