如何用php打印变量中的字符串特殊字符?

时间:2012-09-29 16:29:16

标签: php string variables special-characters

我正在制作这个聊天服务器,但它不能很好地工作。当您发送一段文本时,它首先由函数base64_encode()编码,然后发送到MySQL数据库。 然后接收者从同一个MySQL数据库中获取文本,当然首先由函数base64_decode()解码。

唯一的问题是使用\n \'\t之类的特殊字符:当我从数据库中获取数据并在两个textarea标记之间打印时,我看到{{1作为一个字符串,而不是实际的换行符。

简而言之,我需要解决这个问题:

\n

函数$String = 'Line 1 \n Line 2'; print '<textarea>' . $String . '</textarea>'; //The result I want //<textarea> Line 1 //Line 2 </textarea> 不起作用,因为textarea标记内的标记不起作用,还因为其他字符如撇号。

有人能帮助我吗?

谢谢!

3 个答案:

答案 0 :(得分:1)

您需要将字符串括在双引号中,以便评估特殊字符。

$String = "Line 1 \n Line 2";
print '<textarea>' . $String . '</textarea>';

答案 1 :(得分:0)

如果你改变了这个:

$String = 'Line 1 \n Line 2';
print '<textarea>' . $String . '</textarea>';

到此:

$String = "Line 1 \n Line 2"; // double quote
print '<textarea>' . $String . '</textarea>';

...你会得到你想要的输出。

答案 2 :(得分:0)

这个也与使用" ... "相同,但在您的情况下可能会有所帮助:

$string = <<<EOT
Line 1 \n Line 2
EOT;

echo '<textarea>' . $string . '</textarea>';

正如其他人所说,你的问题是Single-Quotes