2014-09-05 72 views
0

我試圖在所有打開錨點標記後添加一個跨度,而不管錨點內部是什麼。我在CMS工作,所以$content將保存我所有的鏈接,並且是一個很長的HTML字符串。添加<span>全部開始錨定標記

我第一次嘗試str_replace()但它顯然不使用通配符。

$content = str_replace('<a href="%">', '<a href="%"><span class="fa"></span>', $content); 

於是我試着preg_replace()但我不僅不知道夠不夠正則表達式來做到這一點,但我不一定更換的東西,我覺得反而找到我想找到再追加<span>什麼。找到我的起始錨點然後附加一個<span>或任何其他數據後,有什麼好的功能?

回答

2

使用preg_replace

$content = preg_replace('/<a (.*?)>(.*?)<\/a>/', '<a $1 ><span class="fa"></span>$2</a>', $content); 

(.*?)是得到任何東西,那麼$1相當於代替第一(.*?)回。因此,第二次出現,然後放置在$2是。

相關問題