2013-08-02 35 views
0

目前,我正在編寫一個小應用程序,它的未來用戶將能夠編寫將被函數解析的消息(一些正則表達式)。阻止正則表達式修改所有字符串

例如,當用戶寫

":)" 

它轉化爲

<img src="link" alt="link" /> 

並以同樣的方式,當他寫

[code]my code :)[/code] 

它轉化爲

<pre>my code <img src="link" alt="link" /></pre> 

這裏有一個例子:

http://www.legeekcafe.com/upload/img/4298Capture.PNG

它,你可以看到一個很大的問題。所以如何防止正則表達式解析表情符號例如在我的代碼塊?

感謝您

+2

解決方案是不使用正則表達式。您需要更復雜的解析器。 –

+0

您是否知道我可以使用的更復雜的解析器? – fabsgc

回答

0

採取preg_replace_callback,放在一個子模式的代碼塊檢測和一切的代碼塊子模式到另一個子模式之前出現。 然後用笑臉正則表達式替換回調的第一個子模式(不是代碼塊)。

+0

So :) - 我用[code id = X]替換所有的ma [code] [/ code],並將我的代碼內容保存在一個數組中 - 我解析了我的表情 - 我替換了[code id = X]由原內容 - 我解析我的[代碼[/ code] 謝謝你:) – fabsgc