我有一個有趣的問題,我使用PHP的str_ireplace()
突出顯示關鍵字數組中的文本。使用str_ireplace()突出顯示文本
比方說,這是我的關鍵字或短語的數組,我想從一個樣本文字突出:
$keywords = array('eggs', 'green eggs');
這是我的示例文本:
$text = 'Green eggs and ham.';
這是怎麼了突出顯示文本:
$counter = 0;
foreach ($keywords as $keyword) {
$text = str_ireplace($keyword, '<span class="highlight_'.($counter%5).'">'.$keyword.'</span>', $text);
$counter++;
}
的問題,這是green eggs
永遠得不到上午ATCH因爲eggs
已經取代了文字:
Green <span class="highlight_0">eggs</span> and ham.
也可能有情況下,有部分重疊,例如:
$keywords = array('green eggs', 'eggs and');
什麼是一個聰明的方式來解決這類問題的?
一定要注意'綠色雞蛋'否則你有'綠色綠色的蛋' – 2012-03-21 18:35:37