Wertos
Пьянь местная
- Регистрация
- 13 Апр 2007
- Сообщения
- 178
- Реакции
- 39
- Автор темы
- #1
Функция подсветки слов в тексте...
Но если учесть что она обрабатывает HTML, то появляется проблема со ссылками, а именно
поисковое слово "microsoft" в данной ссылке
<a href="microsoft.com">xxxxx</a>
портит весь код ((
Есть какой нибудь вариант исправить это ?
Например исключить из замены, то что находиться между =" и " ?
PHP:
function getHighlightedText($text, $query, $bold=false)
{
if(!$query || !$text) return $text;
$words = explode(' ', $query);
foreach($words as $word)
{
$word = strip_tags(strtolower(trim(urldecode($word))));
if (strlen($word) < 2) { continue; }
if (strlen($word) == 2) { $queryes[] = $word; continue; }
$queryes[] = $word;
}
unset($word);
foreach ($queryes as $word)
{
$word = preg_replace('![^\w\d\s]*!','',$word);
$b = ($bold) ? ' class="bold" ' : '';
$pattern = "~(".$word.")~i";
$replace = '<span style="color:#DD6900;"'.$b.'>$1</span>';
$text = preg_replace($pattern, $replace, $text);
}
return $text;
}
поисковое слово "microsoft" в данной ссылке
<a href="microsoft.com">xxxxx</a>
портит весь код ((
Есть какой нибудь вариант исправить это ?
Например исключить из замены, то что находиться между =" и " ?