在PHP聊天中允许换行 - MySQL PHP

时间:2011-11-14 00:58:19

标签: php mysql regex chat line-breaks

我构建了一个非常简单的聊天系统......它运行良好,当用户输入正确显示的消息时,唯一的问题是换行符不显示....在发送行的某个地方信息到数据库并检索它我失去了换行符......

我想我需要在此过程中的某个地方将\n转换为<br>但我对这种类型的编码真的不太了解......我主要是做游戏和事情。 ..直到今天(我的第一天)才有网站或数据库编码

这是我在chat.php上找到的代码

<html><head></head><body>
<form action="chat.php" method="post">
Message: <br><textarea type="text" name="message" style="width:80%; height:300px;"></textarea><br>
<input type="submit" />
</form>
<div style="width:100%;">

<?php

$host="***";
$user="***";
$password="***";

$cxn = mysql_pconnect ($host, $user, $password);

mysql_select_db("defaultdb", $cxn);

if (getenv(HTTP_X_FORWARDED_FOR)) {
    $ipaddress = getenv(HTTP_X_FORWARDED_FOR);
} else {
    $ipaddress = getenv(REMOTE_ADDR);
}

$message = strip_tags($_POST["message"]);

mysql_query("INSERT INTO ChatTest (ID, TimeStamp, Message) VALUES ('$ipaddress', NOW(), '$message')");

$data = mysql_query("SELECT * FROM ChatTest ORDER BY TimeStamp DESC") or die(mysql_error()); 
 Print "<table border cellpadding=3 width='100%' style='table-layout:fixed'>
        "; 
 Print "<tr>"; 
 Print "<th style='width:10%;'>ID:</th><th style='width:10%;'>TimeStamp:</th><th style='width:70%;'>Message:</th>";
 while($info = mysql_fetch_array( $data )) { 
 Print "
        <tr>"; 
    Print " <td>".$info['ID'] . "</td> "; 
    Print " <td>".$info['TimeStamp'] . " </td>";
    Print " <td style='white-space:pre-wrap;white-space:-moz-pre-wrap;white-space:-pre-wrap;white-space:-o-pre-wrap;word-wrap:break-word'>".$info['Message'] . "</td></tr>
            "; 
 } 
 Print "</table>"; 

mysql_close($cxn);


?>

</div></body></html>

1 个答案:

答案 0 :(得分:5)

使用nl2br()将简单换行符转换为html换行符。