当前位置:首页 > PHP教程 > php应用 > 列表

php逐行读取textarea及向textarea输出换行符

发布:smiling 来源: PHP粉丝网  添加日期:2014-09-22 15:47:39 浏览: 评论:0 

最近在研究discuz,发现后台很多设置项,都用textarea填写,然后每行一项,感觉很有意思,嘿嘿,主要是很简单,免得在设置的时候为控件的问题浪费太多时间.

不多说了,代码如下:

  1. $names = preg_split('/rn/',$_POST['textarea']); 
  2. foreach($names as $name){ 
  3.     // todo something eg: echo $name; 

取值很简单,那么赋值呢,在textarea中输出换行符可没那么简单,代码如下:

  1. $vals = get_from_mydb(); 
  2. $tmp = ''
  3. foreach($vals as $val){ 
  4.     $tmp .= $val.'
'

“
”和”
”是什么意思,因为时间为题我就不说了,自己去百度 GG一下吧,代码如下:

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">  
  2. <html xmlns="http://www.phpfensi.com">  
  3. <head>  
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />  
  5. <title>PHP获取表单area数据中的换行问题</title>  
  6. </head>  
  7. <body>  
  8. <?php  
  9. $content=emptyempty($_POST['content'])?null:trim($_POST['content']);  
  10. if(!emptyempty($content))echo str_replace("r",'rl',nl2br($content));  
  11. echo "r".'<br/>----------分割线----------------------'."r";  
  12. if(!emptyempty($content))echo str_replace("n",'nl',nl2br($content));  
  13. echo "n".'<br/>----------分割线----------------------'."n";  
  14. if(!emptyempty($content))echo str_replace("r",'rl',str_replace("n",'nl',nl2br($content)));  
  15. echo "r".'<br/>----------分割线----------------------<br/>'."n";  
  16. echo 'hello'."n".'boys!';  
  17. echo 'hello'."r".'boys!';  
  18. ?>  
  19. <form action="textareanl.php" method="post" enctype="multipart/form-data"//开源代码phpfensi.com 
  20. <textarea name="content" cols="20" rows="6"></textarea>  
  21. <br />  
  22. <input type="submit" value="提交" />  
  23. </form>  
  24. </body>  
  25. </html> 

从以上结果可见:

1.PHP函数nl2br()是在字符串中的每个新行(rn)之前插入HTML换行符:<br/>;

2.Windows下的换行是(rn);

3.在记事本中,r或n均有换行的功能;

Tags: php逐行读取 textarea换行符

分享到: