This article mainly introduces how to wrap PHP variables in the textarea of the front-end HTML and how to obtain the newline modification in the PHP background. It has a certain reference value and is now shared with everyone. Friends in need can refer to it
This question seems very simple and easy. It seems like changing the line
will do the trick, but it’s not as simple as I thought! ! !
Old practice: Based on THINKPHP, it is to take the array out from redis and display it in the front desk, but with line break.
Backstage:
[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(); }
Frontstage:
[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>
Finally I found that adding \r\n or
didn’t work. I'm mad. thorough.
It turns out that this \r\n needs to be added to the php code. The front desk only needs to read it. wipe.
Come again:
[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>
Just do it this way. There is also a little bit of . The content inside should be written on one line at the end, otherwise, there will be spaces when displayed on the page.
After the line-breaking line in the front-end texteara is submitted, PHP obtains the string through $_POST['texterea'], and it is It needs to be processed, otherwise what you get is a whole string.
[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. Use PHP function: explode('
',$data) to split into arrays.
3. Then use the PHP function: trim(); to remove the spaces in each value.
Done. . . .
Related recommendations:
Memory management of PHP variables
Performance comparison between PHP variable references and non-references
The above is the detailed content of How to wrap PHP variables in the textarea of the front-end HTML and how to get the line-break modification in the PHP background. For more information, please follow other related articles on the PHP Chinese website!