Привет меня зовут Ромчег, На улице солнечная погода. Нужно подсветить часть слова Ромчег, например Ром.
Пробовал через str_replace, но проблема в том что если пользователь введёт в $search_$key
значение скажем ромчег то скрипт не сработает...
Свернутый текст
$content = 'Привет меня зовут Ромчег, На улице солнечная погода.';
$search_key = $_POST['key'];
$replace = '<span class="highlight">'. $search_key .'</span>';
echo str_replace($search_key,$replace,$content);
Пробовал через str_ireplace, проблема в том что на выходе я получаю Array вместо $search_key, и я незнаю как сохранить оригинальный вид предложения, т.е если есть слово скажем DeeKeiD, а пользователь введёт в поиске dee, то конечная строка будет выглядеть как deeKieD
Свернутый текст
$content = 'Hello, my name is DeeKeiD.';
$key = array('dee');
$replace = array('<span class="highlight">'. $key .'</span>');
echo str_ireplace($key,$replace,$content);
Спустя 8 минут, 24 секунды (29.07.2011 - 17:09) twin написал(а):
В конкурсах поройся Там штук 20 таких скриптов с разборами.
Спустя 24 минуты, 48 секунд (29.07.2011 - 17:34) DeeKeiD написал(а):
С подсветкой разобрался, как сохранить формат ихсодной строки?
Когда ввожу в поисковике 'dee', на выходе он выдаёт deeKeiD вместо DeeKeiD.
Когда ввожу в поисковике 'dee', на выходе он выдаёт deeKeiD вместо DeeKeiD.
Спустя 1 минута, 36 секунд (29.07.2011 - 17:36) Winston написал(а):
DeeKeiD
Вот так можно
Использовать str_replace будет гемморнее чем preg_replace
Вот так можно
$str = 'Привет меня зовут Ромчег, На улице солнечная погода';
$search = 'Ромчег';
//echo str_replace($search, '<b>'.$search.'</b>', $str);
echo preg_replace("#(" . $search . ")#iu", '<b>\\1</b>', $str);
Использовать str_replace будет гемморнее чем preg_replace
Спустя 15 минут, 52 секунды (29.07.2011 - 17:52) DeeKeiD написал(а):
С форматом исходной строки тоже разобрался.
За основу взял пример http://phpforum.ru/index.php?showtopic=375...%E2%E5%F2%EA%E0 и изменил
За основу взял пример http://phpforum.ru/index.php?showtopic=375...%E2%E5%F2%EA%E0 и изменил
на
foreach($keyWords as $i)
{
$searchText = str_ireplace($i, "$r1$i$r2", $searchText);
}
foreach($keyWords as $i)
{
$searchText = preg_replace('#' . $i . '#i', '<span class="highlight">$0</span>', $searchText);
}
Спустя 40 минут, 7 секунд (29.07.2011 - 18:32) Winston написал(а):
Цитата (DeeKeiD @ 29.07.2011 - 17:52) |
'#' . $i . '#i' |
Еще один момент. Если текст в кодировке utf-8 то шаблон должен вот такой быть
'#' . $i . '#iu'
Спустя 3 часа, 22 минуты, 15 секунд (29.07.2011 - 21:54) twin написал(а):
Вот. Особо радует то, что кому то пригодилась работа, занявшая далеко не первое место.
А это значит мы жили не зря - раз, победа даже в участии - два.
Не бойтесь проиграть, бойтесь не участвовать.
А это значит мы жили не зря - раз, победа даже в участии - два.
Не бойтесь проиграть, бойтесь не участвовать.
_____________
Бесполезно просить пощады у цезаря
Фатальная ошибка : Звонок в неопределенную функцию ©