来自数据库的php echo带有断行

时间:2011-04-20 02:10:34

标签: php sql echo

我相信这是一个简单的问题,但还不能弄清楚。 我有一个文本区域,提交后转到数据库,然后我在页面上回显此文本,但这是问题,比如该人在textarea上写道:

  

嗨罗伯特,这只是一个考验!   杰森。

然后消息会像这样传递到数据库,但当我回应时,我得到:

  

嗨罗伯特,这只是一个考验!   杰森。

这是表格:

<textarea name="newMessage" wrap="hard" cols="30" rows="3"></textarea>

<input type="submit" name="submit" value="Ingresar"> </>

这是我用来显示文字的代码:

<?php   
    while($row = mysql_fetch_assoc($messages)){
        echo $row['mensaje']."<br/>";
    }
?>

这是我用来插入代码的:

if(isset($_POST['submit'])){        

            $check4LB = $_POST['newMessage'];
            while($letter = mysql_fetch_assoc($check4LB)){
                if($letter=' '){
                $letter='<br/>';
                }
            } /////I know this is not write bu is the idea i thgouht at least

            $query = mysql_query("SELECT (ifnull(max(idRegistro),0) + 1) as id FROM messages");
            $row = mysql_fetch_array($query);
            $idMax = $row['id'];     
            $insertMessage = "INSERT INTO messages(idRegistro, mensaje) VALUES ('".$idMax."','".$letter."')";

             mysql_query($insertMessage) or die(mysql_error());
             echo "<meta http-equiv=Refresh content=\"0 ; url=".$_SERVER['PHP_SELF']."\">"; 
   }

3 个答案:

答案 0 :(得分:13)

尝试echo nl2br($row['mensaje']);

答案 1 :(得分:1)

对数据库的输出使用nl2br()

答案 2 :(得分:0)

试试这个

<?php   
    while($row = mysql_fetch_assoc($messages)){
     echo str_replace("\r",'<br/>',$row['mensaje']); 
    }
?>