這篇文章主要介紹了關於php 變數在前台html 的textarea 中如何換行以及換行修改如何在PHP後台擷取 ,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
這個問題看起來很簡單也很容易。貌似換個行<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>。裡面的內容最後在一行寫,不然,在頁面顯示會有空格。
二、PHP擷取texteara 中換行的內容
在前台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)); //去空格。 } } }
1. 先用PHP 函數: nl2br( ) ,將換行轉換成<br />
2.用PHP 函數: explode('<br />',$data) 分割成數組。
3. 再用PHP 函數:trim( );去掉每一個value的空格。
搞定。。。。
相關推薦:
PHP變數的記憶體管理
PHP變數引用與非引用效能比較