我正在制作这个聊天服务器,但它不能很好地工作。当您发送一段文本时,它首先由函数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标记内的标记不起作用,还因为其他字符如撇号。
有人能帮助我吗?
谢谢!
答案 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
。