У меня есть интересная проблема, когда я выделяю текст из массива ключевых слов, используя 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');
Что такое умный способ решения такого рода вопроса ?
не забудьте посмотреть 'зеленые яйца', иначе у вас есть,' зеленые зеленые яйца' –