【问题标题】:Getting rid of \r\n [closed]摆脱 \r\n [关闭]
【发布时间】:2013-06-14 00:45:28
【问题描述】:

我正在从数据库中打印出文本,但我不断收到 \r\n,但我不完全确定原因。这就是我的代码的样子

form action="portal.php" method="post" class="label-top">
    <div>
       <label for="name">News Message</span></label>
        <form method="post" action="" name="bio">
         <textarea name="bio" cols="25" rows="5">


             <?php echo stripslashes($_SESSION['bio']) ?> 


     </textarea><br>

我正在尝试使用stripslashes,但它不起作用

我希望我的文字像这样打印出来

Test
Test

但实际上是这样的

Test\r\nTest 

编辑

在关注你们之后,一切似乎都很好,直到我发布它。 我认为我的 POST 方法有问题

如果有人有时间仔细阅读,将不胜感激。

  <?php
include("mysql_connect.php");
session_start();


if( $_SESSION['login'] != 1 ) {
header( 'Location:login.php' ) ;}


if($_SERVER['REQUEST_METHOD'] == 'POST') {
$bio = mysql_real_escape_string($_POST['bio']);
$user_input = mysql_query("UPDATE members SET bio ='$bio' WHERE username='$_SESSION[username]' ");
$_SESSION['bio'] = $bio;
    } 
    if($_SERVER['REQUEST_METHOD'] == 'POST2') {
$bio = mysql_real_escape_string($_POST['notification']);
$user_input = mysql_query("UPDATE members SET notification ='$notification' WHERE username='$_SESSION[username]' ");
$_SESSION['notification'] = $notifiation;
    } 

?>


<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
        <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0;">
        <title>APPSTARME</title>
        <link href="css/style.css" rel="stylesheet" type="text/css" />
    </head>
<body>
    <header>
        <div class="logo">
            <a href="login.php">
                <img src="images/logo.png" alt="APPSTARME" />
            </a>
        </div>
        <div class="clear"></div>
    </header>
    <div class="content">
    <article>

<h2 class="underline">Logged in as  <?php echo ucfirst($_SESSION['username']); ?>  </span></h2>

            <form action="portal.php" method="post" class="label-top">
                <div>
                     <label for="name">News Message</span></label>
                     <form method="post" action="" name="bio">
<textarea name="bio" cols="25" rows="5">

<?php
 echo nl2br($_SESSION['bio']); ?> 
</textarea><br>
<input type="submit" value="Update Message" /></form>
                </div>

【问题讨论】:

  • 我很担心你是如何检查你的请求的。而不是你的条件检查 REQUEST_METHOD,使用 $_POST 全局数组。此外,您不应该偏离 HTTP。使用 POST,并在其中使用条件。不要创建另一个名为 POST2 的方法
  • 当我登录时一切看起来都很好,但是当我用 post 方法更新它时,一切又回到了 \r\n\ 问题

标签: php textarea newline


【解决方案1】:

你需要nl2br($_SESSION['bio'])

编辑:

既然你应该打印&lt;textarea&gt;里面的文字,试试这个:

preg_replace("/\r\n|\r|\n/",'&#13;',$_SESSION['bio']')

&amp;#13;Carriage return

【讨论】:

  • 我承认。忘记这个了。
  • 文本区域内的&lt;br/&gt; 将呈现为&lt;br/&gt;,并且不会导致换行。 jsfiddle.net/SkDHd
【解决方案2】:

stripslashes 不会删除 \r\n

你需要:preg_replace('~\r?\n~','&lt;br/&gt;', $string);

【讨论】:

    【解决方案3】:

    这应该可以解决问题:

    <?php 
    $string = "Hello\r\nWorld\r\n!\r\n"; 
    $string = nl2br($string); 
    echo $string;
    ?>
    

    祝你好运。

    我建议查看this 帖子以获取有关您的问题的更多信息。

    【讨论】:

      猜你喜欢
      • 2015-10-03
      • 2010-10-12
      • 1970-01-01
      • 2014-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多