我正在使用str_replace,它無法正常工作。 我有一個文本區域,其輸入與表單一起發送。當服務器收到數據時,我想將新行更改爲「,」。PHP str_replace不能正常工作
$teams = $_GET["teams"];
$teams = str_replace("\n",",",$teams);
echo $teams;
奇怪的是,我收到以下結果
切爾西
,真正
,巴塞羅那
,而不是Chealsea,真實的,巴塞羅那。
怎麼了?
我正在使用str_replace,它無法正常工作。 我有一個文本區域,其輸入與表單一起發送。當服務器收到數據時,我想將新行更改爲「,」。PHP str_replace不能正常工作
$teams = $_GET["teams"];
$teams = str_replace("\n",",",$teams);
echo $teams;
奇怪的是,我收到以下結果
切爾西
,真正
,巴塞羅那
,而不是Chealsea,真實的,巴塞羅那。
怎麼了?
要擴大Waage的迴應,你可以使用數組來代替這兩個字符集
$teams = str_replace(array("\r\n", "\n"),",",$teams);
echo $teams;
這應該妥善處理好這兩個項目,作爲一個單一的\n
的是有效的,不會被抓到如果你只是更換\r\n
嘗試更換"\r\n"
,而不是僅僅"\n"
我會修剪文本並用co替換所有連續的CR/LF字符mma:
$text = preg_replace('/[\r\n]+/', ',', trim($text))
我有同樣的問題,但發現不同的答案,所以認爲我會分享,以防它可以幫助某人。
我遇到的問題是我想用<br/>
代替\n
用HTML打印。簡單的變化,我不得不做是爲了躲避反斜線str_replace("\n","<br>",($text))
這樣的:
str_replace("\\n","<br>",($text))
'TRIM()'只從字符串的開頭和結尾刪除空格字符,而不是在中間。 – BoltClock 2010-09-06 23:50:44
是的,它在我看來,他不是這樣做到字符串的末尾:)修改是一個更好的迴應! – 2010-09-06 23:52:20
現在有點迷路了,這兩個答案有什麼區別? – 2010-09-06 23:55:55