我覺得自己像一個業餘人士問這個問題,但我一直在這個問題上掙扎了很長時間,無法解決問題。PHP的問題preg_replace()
我正在製作一個嵌入式YouTube視頻和一個富文本編輯器的論壇。我需要一個函數將HTML標記轉換爲BBCode,另一個將BBCode轉換回HTML。
BB代碼爲HTML
$message = (get message from database);
$A = '/\[youtube](.*?)\[\/youtube\]/is';
$B = '<object type="application/x-shockwave-flash" data="http://www.youtube.com/v/$1" width="425" height="350"><param name="movie" value="http://www.youtube.com/v/$1"><param name="wmode" value="transparent"></object>';
preg_replace($A, $B, $message);
我需要逆轉這一過程中,把HTML到BB代碼的腳本。如果有人能幫助我,我會非常感激,或者建議一個更簡單的方法,如果存在的話,或者甚至可以提供一些洞察問題的鏈接。
謝謝。
,所以還是從B $至$ A? – Popnoodles 2013-03-14 00:13:25
基本上,是的!對不起,使其複雜化:P – Tom 2013-03-14 00:15:19
**不要使用正則表達式來解析HTML **。您無法可靠地使用正則表達式解析HTML。只要HTML從你的期望改變,你的代碼就會被破壞。有關如何使用PHP模塊正確解析HTML的示例,請參閱http://htmlparsing.com/php.html。 – 2013-03-14 03:23:53