时间:2021-07-01 10:21:17 帮助过:9人阅读
这个问题看起来很简单也很容易。貌似换个行<br />不就可以了嘛,但是,真没想象中的那么简单啊啊啊啊啊!!!
老做法:基于THINKPHP ,就是从redis中将数组取出来,显示在前台,但是要换行。
后台:
[php] view plain copy
function tags_keywords(){ $this->showheadertitle('tags_keywords'); $redis = D("Redis"); $keywords_list = $redis->sMembers("Budou:segmentation:sourse"); //获取数据,在前台textarea中换行显示。 $this->assign('keywords_list',$keywords_list); $this->display(); }
前台:
[html] view plain copy
<textarea name="keywords_area" style="overflow: auto; display: inline; width: 884px; height: 298px;" rows="4" cols="170"> <volist name='keywords_list' id='key'> {$key}\r\n //没用 </volist> </textarea>
最后发现不管是加\r\n 还是<br /> 都不管用。我疯了。彻底。
原来,这个\r\n要加到php代码中。前台只需要读就可以了。擦。
再来:
[php] view plain copy
function tags_keywords(){ $this->showheadertitle('tags_keywords'); $redis = D("Redis"); $keywords_list = $redis->sMembers("Budou:segmentation:sourse"); $textarea = ""; foreach($keywords_list as $value){ $textarea.= $value."\n"; } $this->assign('keywords_list',$textarea); $this->display(); }
[html] view plain copy
<textarea name="keywords_area" style="overflow: auto; display: inline; width: 884px; height: 298px;" rows="4" cols="170">{$keywords_list}</textarea>
直接这样就好了嘛。还有一点<textarea>内容</textarea>。里面的内容最后在一行写,不然,在页面显示会有空格。
在前台texteara中换号行之后,提交,PHP通过$_POST['texterea'] 获取字符串后,是要经过处理的,不然获取到的就是一整个字符串。
[php] view plain copy
function modify_keywords_list(){ $keywords_post = $_POST['keywords_area']; $keywords_post = nl2br($_POST['keywords_area']); //将换行换成 <br / > $keywords_post = explode("<br />",$keywords_post); // 然后再用<br />作为分隔符,变成数组。虽然变成数组了,还是value还是有空格的,要去空格 foreach($keywords_post as $key){ if(trim($key)){ //去空格。 $redis->sadd("Budou:segmentation:sourse", trim($key)); //去空格。 } } }
2.用PHP 函数: explode('<br />',$data) 分割成数组。
3. 再用PHP 函数:trim( );去掉每一个value的空格。
搞定。。。。
相关推荐:
PHP变量的内存管理
PHP变量引用与非引用性能比较
以上就是php 变量在前台html 的textarea 中如何换行以及换行修改如何在PHP后台获取 的详细内容,更多请关注Gxl网其它相关文章!