1

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

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

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

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

//The result I want
//<textarea> Line 1
//Line 2 </textarea>

该功能nl2br不起作用,因为 textarea 标签内的标签不起作用,还因为还有其他字符,如撇号。

有人可以帮助我吗?

谢谢!

4

3 回答 3

1

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

$String = "Line 1 \n Line 2";
print '<textarea>' . $String . '</textarea>';
于 2012-09-29T16:37:44.067 回答
0

这也与 using 相同" ... ",但可能对您的情况有所帮助:

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

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

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

于 2012-09-30T09:09:38.180 回答
0

如果你改变这个:

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

对此:

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

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

于 2012-09-29T16:37:10.700 回答