最近在研究discuz,发现后台很多设置项,都用textarea填写,然后每行一项,感觉很有意思,嘿嘿,主要是很简单,免得在设置的时候为控件的问题浪费太多时间.
不多说了,代码如下:
- $names = preg_split('/rn/',$_POST['textarea']);
- foreach($names as $name){
-
- }
取值很简单,那么赋值呢,在textarea中输出换行符可没那么简单,代码如下:
- $vals = get_from_mydb();
- $tmp = '';
- foreach($vals as $val){
- $tmp .= $val.' ';
- }
“ ”和” ”是什么意思,因为时间为题我就不说了,自己去百度 GG一下吧,代码如下:
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.phpfensi.com">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>PHP获取表单area数据中的换行问题</title>
- </head>
- <body>
- <?php
- $content=emptyempty($_POST['content'])?null:trim($_POST['content']);
- if(!emptyempty($content))echo str_replace("r",'rl',nl2br($content));
- echo "r".'<br/>----------分割线----------------------'."r";
- if(!emptyempty($content))echo str_replace("n",'nl',nl2br($content));
- echo "n".'<br/>----------分割线----------------------'."n";
- if(!emptyempty($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()是在字符串中的每个新行(rn)之前插入HTML换行符:<br/>;
2.Windows下的换行是(rn);
3.在记事本中,r或n均有换行的功能; |