dongwu9063 2013-10-11 08:09
浏览 82
已采纳

额外的空格和换行符PHP自动删除TEXTAREA

My code for the input php file is the following.

<!DOCTYPE html>
<html>
  <body>
    <form name="input" action="welcome.php" method="post">
      Comment: <textarea name="input" rows="5" cols="40"></textarea>
      <input type="submit" value="Submit">
    </form> 
  </body>
</html>

For the output code it is the following.

<html>
  <body>
    Welcome <?php $a=$_POST["input"]; echo $a; ?><br>
  </body>
</html>

When anything with extra spaces and newline are inputted, it automatically gets removed. For example :

When I input:

abcd
cda xyzb

Output is:

Welcome abcd cda xyzb

  • 写回答

4条回答 默认 最新

  • dsa89029 2013-10-11 08:17
    关注

    This is because new line characters are represented as , in the sourcecode you'll see new lines. Whitespaces get truncated if one follows another in HTML.

    I suggest you to use the <pre> tag, which does not only save the new lines (like php's nl2br()) but also preserves the whitespaces.

    Using <pre>:

    <html>
    <body>
    <pre class="yourStyleForThisPreFormattedText">
    Welcome <?php $a = $_POST["input"]; 
    echo $a; ?>
    </pre>
    </body>
    </html>
    

    Using special chars (&nbsp;) and PHP functions:

    <html>
    <body>
    Welcome <?php $a = nl2br(str_replace(' ', '&nbsp;', $_POST["input"]), true); 
    echo $a; ?>
    </body>
    </html>
    

    Notice:

    For HTML4 and HTML5 use nl2br($str, true);, for XHTML4 use nl2br($str); - the difference is in the output: <br> and <br />. See http://php.net/nl2br

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题