Без описания |
Поиск в теме | Версия для печати |
WScout |
Отправлено: 22 Октября, 2009 - 02:10:56
|
Newbie
Покинул форум
Сообщений всего: 10
Дата рег-ции: Окт. 2009
Карма 0
|
Подскажите, пожалуйста....
Имеется такая ситуация, пользователь вводит запрос в форму поиска, а при выводе результатов в найденных строках выделяется запрашиваемое слово.
Вот так:
preg_replace('/'.$inq_find.'/i', '<b>'.$inq_find.'</b>', $arr['title'])
Где:
'/'.$inq_find.'/i' - Что искать, т.е. запрос пользователя
'<b>'.$inq_find.'</b>' - На что меняем
$arr['title'] - найденная строка, где будет меняться слово
Вроде бы все просто и понятно, но есть один важный нюанс - если пользователь укажет слово с верхним регистром, а в статье слово в нижнем, то функция конечно же совпадение найдет исправно, а вот заменит слово в нижнем регистре на то, которое пользователь ввел в верхнем, вывод получается не очень красивым. Чтобы даже если пользователь введет слово в верхнем регистре, не менять регистр в строке, просто выделять жирным, как выше в примере и все.
Подскажите, пожалуйста, как решить данную проблему! |
|
|
Furax |
Отправлено: 27 Октября, 2009 - 11:02:26
|
Бледнотик
Покинул форум
Сообщений всего: 1472
Дата рег-ции: Март 2007
Откуда: Иркутск, Сибирь, СССР
Карма 32
|
\0 - вся найденная подстрока;
\1, \2, ..., \N - соответственно, её части, заключённые в первые, вторые, ..., энные круглые скобки в регулярке. |
|
|
|
Поиск в теме | Версия для печати |
Страниц (1): [1] |
Сейчас эту тему просматривают: 5 (гостей: 5, зарегистрированных: 0, скрытых: 0) |
« PHP/Perl » |
Все гости форума могут просматривать этот раздел. Только администраторы и модераторы могут создавать новые темы в этом разделе. Только администраторы и модераторы могут отвечать на сообщения в этом разделе.
|
|
|