2015-06-22 67 views
0

我有一個html textarea,它通過電子郵件將文本輸入發送給我。 問題是來自textarea的輸入以連續字符串的形式發送/接收,沒有空白或換行符。 UTF-8字符也被忽略。HTML textarea中沒有空格或換行符

我試過str_replace(" ", &nbsp, $message)試圖將空格變成html空格字符,但沒有運氣。

修復make textarea支持UTF-8我試圖在表單聲明中放入accept-charset =「utf-8」,但是沒有任何運氣。

我也試了一對夫婦在網絡上其他解決方案,但有沒有工作

+0

你發送HTML電子郵件? –

+0

是'&nbsp'錯字嗎?應該是' '。你能發佈更多的代碼嗎?我想不出一個所有空白都會被刪除的例子。 – chris85

+0

@Dagon我正在使用標準的PHP郵件()函數。不知道它以什麼格式發送電子郵件。 – Petter

回答

0

快速的方法來修復線breakes 是

$yourtext = str_replace('\n','<br>',$yourtext); 
+0

然後PHP函數nl2br將是一個更好的解決方案。 http://php.net/manual/en/function.nl2br.php –

+0

str_replace('\ n','
',$ yourtext)不幸沒有做任何事 – Petter

0

嘗試str_replace(" ", '&nbsp;', $message)

+0

它更好地解釋代碼以及爲什麼你認爲它的工作原理。 – Ram

+0

這使得代替空格。因此,當我收到郵件時,「測試測試測試」變成了「測試&nbsptest&nbsptest」。 – Petter

0

問題解決了。原來這是filter_var($_POST['message'], FILTER_SANITIZE_EMAIL);這是罪魁禍首