php 變量在前臺html 的textarea 中如何換行,以及換行修改如何在PHP後臺獲取

這個問題看起來很簡單也很容易。貌似換個行<br />不就可以了嘛,但是,真沒想象中的那麼簡單啊啊啊啊啊!!!

一、換行

老做法:基於THINKPHP ,就是從redis中將數組取出來,顯示在前臺,但是要換行。

後臺:

  1. function tags_keywords(){  
  2.   
  3.        $this->showheadertitle('tags_keywords');  
  4.        $redis = D("Redis");  
  5.        $keywords_list = $redis->sMembers("Budou:segmentation:sourse"); //獲取數據,在前臺textarea中換行顯示。  
  6.        $this->assign('keywords_list',$keywords_list);  
  7.        $this->display();  
  8.   
  9. }  

前臺:

[html] view plain copy
  1. <textarea name="keywords_area" style="overflow: auto; display: inline; width: 884px; height: 298px;" rows="4" cols="170">  
  2. <volist name='keywords_list' id='key'>  
  3. {$key}\r\n      //沒用  
  4. </volist>  
  5. </textarea>  

最後發現不管是加\r\n 還是<br /> 都不管用。我瘋了。徹底。


原來,這個\r\n要加到php代碼中。前臺只需要讀就可以了。擦。


再來:

  1. function tags_keywords(){  
  2.   
  3.                $this->showheadertitle('tags_keywords');  
  4.                $redis = D("Redis");  
  5.                $keywords_list = $redis->sMembers("Budou:segmentation:sourse");  
  6.                $textarea = "";  
  7.                foreach($keywords_list as $value){  
  8.                        $textarea.= $value."\n";  
  9.                }  
  10.                $this->assign('keywords_list',$textarea);  
  11.                $this->display();  
  12.   
  13.         }  

[html] view plain copy
  1. <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'] 獲取字符串後,是要經過處理的,不然獲取到的就是一整個字符串。

  1. function modify_keywords_list(){  
  2.   
  3.                $keywords_post = $_POST['keywords_area'];  
  4.                $keywords_post = nl2br($_POST['keywords_area']);  //將換行換成 <br / >  
  5.                $keywords_post = explode("<br />",$keywords_post); // 然後再用<br />作爲分隔符,變成數組。雖然變成數組了,還是value還是有空格的,要去空格  
  6.                foreach($keywords_post as $key){  
  7.   
  8.                         if(trim($key)){  //去空格。  
  9.                                $redis->sadd("Budou:segmentation:sourse", trim($key)); //去空格。  
  10.                         }  
  11.   
  12.                }  
  13.                  
  14.        }  

1. 先用PHP 函數: nl2br( ) ,將換行轉換成<br />

2.用PHP 函數: explode('<br />',$data) 分割成數組。

3. 再用PHP 函數:trim( );去掉每一個value的空格。


搞定。。。。

轉自:https://blog.csdn.net/think2me/article/details/8127528


發佈了20 篇原創文章 · 獲贊 20 · 訪問量 23萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章