2013-01-08 24 views
0

我有這樣的檢索記錄從那裏我想解碼格式值,並與相應的HTML標籤取代一個數據庫,以便將工作在顯示效果細膩:搜索不同勢標籤和替代單一的preg_replace功能

[size=150:3a9xfsiy][color=#000080:3a9xfsiy]hello world[/color:3a9xfsiy][/size:3a9xfsiy] 

這個紀錄是由phpBB的創造,我用它來顯示對phpBB的控制之外的網站的其他部分..

什麼香港專業教育學院嘗試是使用的preg_replace,但問題是,有沒有辦法閱讀不同格式標籤爲一個正則表達式?例如:

[size=150:3a9xfsiy] and [/size:3a9xfsiy] must be searched in a single preg_replace 
+0

可能會顯示您的代碼 –

+0

爲什麼不使用PHP自帶的BBCode代碼? http://php.net/manual/en/book.bbcode.php –

回答

1
<? 
    $ret = 'I gave my Word to you Word.'; 
    $pattern = '/\bWord\b/i'; 
    $ret = preg_replace($pattern,"Heart",$ret); 
    var_dump($ret); 
?> 

字符串(29) 「我把我的心給你的心。」

或者,如果這是適合你

你可以只使用str_replace函數:

$str = str_replace(array('<tag>', '</tag>'), array('<newtag>', '</newtag>', $str); 
+0

只需在那裏替換你的標籤 – mystycs

+0

如果$ ret的價值是: $ ret ='我給你的單詞給我\ Word。'; 對於Word和\ Word,你仍然只能使用一個preg_replace嗎? – Vainglory07

+0

更新的答案, – mystycs

1

PHPBB提供了一個函數這一點。 Generate_text_for_display。當你從db中檢索它時,包含phpbb函數並應用這個函數。可以使用this class

查看更多about parsing text

+0

這是內置於phpBB的權利? 如果我要在phpBB之外使用它,我該如何使用它? – Vainglory07

+0

Phpbb是開源的。只需複製文件。 –