0
我使用preg_replace和數組來通過我的bbcode並在發佈新聞條目時進行更改。根據url值更改bbcode
例如
$bbcode = array (
"/\[url\=(.*?)\](.*?)\[\/url\]/is" => "<a href='$1' target='_blank'>$2</a>"
);
所以後來當我拉數據庫中的數據(在這個例子$ newsPost),其中包含文本和設置高亮,我這樣做。
$newsPost = preg_replace(array_keys($bbcode), array_values($bbcode), $newsPost);
現在,我想是找出是否$ 1的值包含我的域名,目標應該是「頂」,如果不是,它應該是空白。
所以,如果我們有[url=http://www.mydomain.com]visit our page[/url]
。那麼它會變成<a href="http://www.mydomain.com" target="top">visit our page</a>
,其他任何東西都會變成target="_blank"
。
任何想法?
在此先感謝!
完美地工作!謝謝。對第二個例子有點不確定。如果我在bbcode(20+)中有很多項目,我將不得不重寫每個以適合$ bbcode []樣式? – Andelas
@scatteredbomb不,你可以使用[array_merge()](http://www.php.net/manual/en/function.array-merge.php),看到我更新的答案 – DaveRandom
@scatteredbomb只是再次編輯,我只是意識到你需要爲使用'[url] http://my.url/ [/ url]'語法的人以及'[url = http://my.url/]一些文本[/ url] ' – DaveRandom