本文實例講述了php獲取textarea的值並處理回車換行的方法。分享給大家供大家參考。具體實現方法如下:
一般來說,在html表單中textarea中我們按回車與換行都是一些ascii或特殊的字符的編碼,如果不進行轉換輸出文字是沒的排版的。
php獲取textarea的值是十分簡單的 textarea回車換行為 \r\n 下面看例子
HTML代碼:
復制代碼 代碼如下:<Textarea name="test" rows="3″ cols="20″ id="test"></textarea>
PHP代碼:
復制代碼 代碼如下:$str=$_GET['test'];
echo $str.'<br />';
$arr=explode("\n",$str);
print_r($arr);
echo count($arr).'<br />';//回車數
$str1=nl2br($str);//回車換成換行
echo $str1;
所有代碼:
復制代碼 代碼如下:<html>
<head>
<title></title>
</head>
<body>
<form action="">
<textarea name="test"></textarea>
<input type="submit" />
</form>
<?php
$str=$_GET['test'];
echo $str.'<br />';
$arr=explode("\n",$str);
print_r($arr);
echo count($arr).'<br />';//回車數
$str1=nl2br($str);//回車換成換行默認函數
echo $str1;
?>
</body>
</html>
再來看一段dz論壇中例子。不多說了,直接上代碼:
復制代碼 代碼如下:$names = preg_split('/\r\n/',$_POST['textarea']);
foreach($names as $name){
// todo something eg: echo $name;
}
取值很簡單,那麼賦值呢,在textarea中輸出換行符可沒那麼簡單
復制代碼 代碼如下:$vals = get_from_mydb();
$tmp = '';
foreach($vals as $val){
$tmp .= $val.'
';
}
"
"和"
"是什麼意思
相信大家都看到了,其實textarea中的回車變成字符就成"\n"了,所以php處理textarea中的回車其實就是處理字符中的"\n".
希望本文所述對大家的PHP程序設計有所幫助。
PHP中有一個nl2br($string)函數
在把內容輸入mysql之前需要用這個函數處理一下<textarea>裡面的內容,將回車換行符轉換成HTML標記語言裡的<br>符號
在輸出的時候就換行了。
建議初學的時候不用著急寫代碼,先抄代碼。自己親手打上去調試。遇到不懂的就研究,或者百度~抄的多了就都會了
<form action="do.php" method="post">
<input type="textarea" name="intext"/>
<input type="submit" value="submit"/>
</form>
do.php
<?php
$intext = $_POST['intext'];