我試圖使用preg_replace匹配標記。所使用的正則表達式是:<video[^>]*>(.*?)</video>
使用preg_replace替換html標記
但我發現了一個服務器警告:Message: preg_replace() [function.preg-replace]: Unknown modifier ']'
爲什麼任何線索?
此外,我如何修改正則表達式,以便它可以匹配[視頻]標籤呢?
謝謝!
我試圖使用preg_replace匹配標記。所使用的正則表達式是:<video[^>]*>(.*?)</video>
使用preg_replace替換html標記
但我發現了一個服務器警告:Message: preg_replace() [function.preg-replace]: Unknown modifier ']'
爲什麼任何線索?
此外,我如何修改正則表達式,以便它可以匹配[視頻]標籤呢?
謝謝!
不要忘記根據preg_
函數的要求劃定您的正則表達式。通常我們會寫/regex/
,但是任何分隔符都可以。
由於你的正則表達式包含/
,我會去找%
,以避免它逃脫。
%<video[^>]*>(.*?)</video>%
當然,要注意嘗試通過正則表達式來混淆HTML的危險。會有問題。一如既往。
如果你想[video]
代替,只需更換與[]
所有<>
- 但記得要逃避他們,因爲[
和]
有顯著正則表達式!
%\[video[^\]]*\](.*?)\[/video\]%
你不應該用正則表達式解析HTML。欲瞭解更多關於爲什麼的信息,請閱讀這個問題的答案:http://stackoverflow.com/questions/590747/using-regular-expressions-to-parse-html-why-not 對於BBCode的東西,你可以使用BBCode擴展如果您有權訪問PECL。 http://www.php.net/manual/en/book.bbcode.php – Shabbyrobe 2010-07-21 05:02:11
謝謝,這裏沒有太多的文檔,但我會看到它。 – Nacho 2010-07-21 13:22:41