PHP获取表单textarea数据中的换行问题

测试页面代码:


代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PHP获取表单area数据中的换行问题</title>
</head>
<body>
<?php
$content=empty($_POST['content'])?null:trim($_POST['content']);
if(!empty($content))echo str_replace("\r",'rl',nl2br($content));
echo "\r".'<br/>----------分割线----------------------'."\r";
if(!empty($content))echo str_replace("\n",'nl',nl2br($content));
echo "\n".'<br/>----------分割线----------------------'."\n";
if(!empty($content))echo str_replace("\r",'rl',str_replace("\n",'nl',nl2br($content)));
echo "\r".'<br/>----------分割线----------------------<br/>'."\n";
echo 'hello'."\n".'boys!';
echo 'hello'."\r".'boys!';
?>
<form action="textareanl.php" method="post" enctype="multipart/form-data">
<textarea name="content" cols="20" rows="6"></textarea>
<br />
<input type="submit" value="提交" />
</form>
</body>
</html>

在浏览器中打开后,在表单中输入:

按提交后,浏览器中显示结果如下:

在记事本可可看到如下结果:

从以上结果可见:

1.PHP函数nl2br()是在字符串中的每个新行(\r\n)之前插入HTML换行符:<br/>;
2.Windows下的换行是(\r\n);
3.在记事本中,\r或\n均有换行的功能;

(0)

相关推荐

  • 微信开发之php表单微信中自动提交两次问题解决办法

    前言: 最近做微信开发,在微信中访问PHP页面,页面中有个表单.测试发现偶尔会出现表单被自动提交两次的情况,导致流程出错. 问题原因 暂时未找到原因,不过怀疑跟微信本身的机制有关. 解决方法 用session,每次提交表单时,计算一个随机数post出去.页面处理表单提交时,先判断是否有这个session,如果不存在就保存,存在就和post过来的随机数比较,如果相等表示重复提交. 代码示例: 表单部分 <div class="odform"> <form action=

  • PHP程序开发范例学习之表单 获取文本框的值

    <form name="form" method="post" action="login.php"></form> 文本框的用法: <input type="text" name="username" /> 其中input类型包括text.password等类型,HTML5新增了很多的input类型,如果想学习这类的知识可以很好的了解一下,因为分的越细,用的越方便. 看

  • PHP form 表单传参明细研究

    为什么呢?因为表单的处理有GET和POST两种,怎么在这两种表单中都要传递一直do参数,而且要在后台通过同样的方式获取就一直是个很困惑的问题,今天经过几个小时的实验终于搞懂了,特发此文. GET表单: 复制代码 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

  • php不允许用户提交空表单(php空值判断)

    可以修改代码,添加些判断: 复制代码 代码如下: if(empty($_POST['name'])){  echo "俗话说的好,雁过留声人过留名<br />"; } elseif(empty($_POST['comment'])){  echo "矮油,多说几句吧~"; } else{  $sql = "INSERT INTO myblog_comments(blog_id, dateposted, name, comment) VALUES

  • PHP 表单提交给自己

    在大部分情况下我们指定另外一个来处理表单内容的URL地址给Action属性,但也有部分情况是需要将表单数据提交给自己的.这时候我们应该如何指定Action属性值呢?<?php if (isset($_POST['action']) && $_POST['action'] == 'submitted') {     print '<pre>'; print_r($_POST);     print '<a href="'. $_SERVER['PHP_SEL

  • php 表单验证实现代码

    复制代码 代码如下: <html> <head> <title>Form</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <script language="javascript" src="form.js" src="form.js"&

  • php 表单数据的获取代码

    复制代码 代码如下: <html> <head> <title>Form</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> </head> <body> <form action="post.php" method="get" name

  • PHP的一个基础知识 表单提交

    register.php: 复制代码 代码如下: <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=gb2312"> <title>注册页面</title> </head> <body> <form action="request.php" method=&quo

  • php中一个完整表单处理实现代码

    一个完整表单处理 下面我们将创建一个复杂的表单,代码如下所示. 复制代码 代码如下: <form action="someform.php" method="post"> <table width="541" border="0"> <tr> <td width="26%">姓名:</td> <td width="74%"

  • ThinkPHP 防止表单重复提交的方法

    然而有一种情况,是防止不了的: 用户提交表单以后,点击浏览器后退按钮返回表单页面,这个时候浏览器会直接从缓存中取出页面,因此token验证一定是通不过的. 网上有许多种办法可以绕过这个问题,比如用location.replace()方法来替换当前历史记录,但是这样仍然有瑕疵.极端的情况,若用户在页面间切换多次,那么多点几次后退按钮很可能又回到了上一个表单页面. 解决办法是在http头中设置Cache-Control: no-cache, no-store.然而我尝试了无论是在页面head中添加

  • php表单转换textarea换行符的方法

    下面是我对这个问题的解决过程,最后算是完全搞懂了,真是阴沟里险些翻船 1.必须知道textarea中的换行符是 \n  (个人检测发现按回车键是\n,好像在linux下是\r\n) 2.用nl2br之前,请仔细看好手册解释,我就是搞郁闷了,一般都理解为将\n转换成<br >,其实不是的: 看php手册解释: nl2br –  Inserts HTML line breaks before all newlines in a string Returns string with '<br

  • php 多个submit提交表单 处理方法

    test.php 复制代码 代码如下: <?php $test = $_POST[ 'test ']; echo '12 '; echo $test; echo $_POST[ 'submit1 ']; echo $_POST[ 'submit2 ']; if (isset($_POST[ 'submit1 ']) && $_POST[ 'submit1 '] == 'submit1 ') { echo 'ok1 '; } if (isset($_POST[ 'submit2 '])

随机推荐