2011-12-19 125 views
0

我正在使用它的字段之一是一個RTF文本區(jWYSIWYG),它在頁面加載時自動填充一些數據庫信息,所有使用Symfony框架。這RTF編輯器可以添加一些html標籤一樣<p><b>str_replace不能在html代碼中工作

麻煩的開始,當我嘗試知道,如果textarea的已發送表單前進行了修改:我從$request明白的是,所有的HTML標記被編碼爲&lt;p&gt;,&lt;b&gt;等。我嘗試用<>字符替換該表達式,以便我可以將其與存儲的數據進行比較。

$codes = array('&gt;','&lt;'); 
$chars = array('<' ,'>'); 
return str_replace($codes,$chars,$text); 

但是這個函數返回給我同樣的數組作爲str_replace函數的參數。我究竟做錯了什麼?有沒有人有同樣的問題?

+0

那麼你的$文本變量包含哪些內容? – Robert 2011-12-19 16:46:34

+0

'<p>東西東西</p >'。我想這將是「等於」這個'

東西東西

'。所以,所有的html標籤代碼 – 2011-12-19 16:50:00

+0

您是否嘗試過將其放入str_replace('<','>','<p>');只是爲了看看它是否按預期工作。 – Robert 2011-12-19 16:53:56

回答

0

終於發現了問題。不是關於html標籤!問題是(我不知道爲什麼)jWYSIWYG在字段的末尾添加了大約24個空格,因此很顯然,存儲數據和新數據結果之間的比較是不同的。

只是刪除輸入的最後一個空格這樣:

$text = rtrim($text);