2013-03-02 82 views
1

我目前我正在使用textarea用戶可以提交他們的輸入。我使用PHP nl2br任何新的生產線轉換爲<br>如下:php nl2br反之亦然問題

$review_desc = nl2br($this->_getParam('comment')); 

但現在我有問題,當用戶編輯自己的文字,因爲我得到的內容如下:

test1<br /> 
test2<br /> 
test3<br /> 
test4<br /> 

它增加了新的<br/>在用戶編輯它們在textarea.How我可以防止這一點?另外對於建議是否有任何其他替代textarea的形式,它可以檢測超鏈接等?謝謝

+0

您以後是HTML轉義內容*嗎? – deceze 2013-03-02 12:44:47

+0

@deceze你是否意味着在呈現給用戶再次編輯之前轉義? – d3bug3r 2013-03-02 12:46:36

+1

我的意思是像'' – deceze 2013-03-02 12:47:33

回答

0

您可以將textarea的內容存儲在數據庫中,因爲它是由用戶提供的;所以不需要撥打nl2br。

然後只要調用nl2br,一旦您從數據庫中檢索到相同的文本並想要打印到網頁上。

如果您希望用戶在textarea中再次編輯它,請從數據庫中檢索當前內容,並且這次不要調用nl2br。

0

如果你一直爲「\ n」,你可以簡單地插入textarea的文本,但如果你保持文本與<br />,在文本區域插入文本之前,您應該對「\ n」替換<br />文本,例如$text = str_replace("<br />","\n",$text);或嘗試從此頁http://php.net/manual/en/function.nl2br.php,在替換<br /> \ n上的許多功能\ n