Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Регулярные выражения - подсветка


Автор: Гость_Сергей 3.2.2004, 14:03
Здравствуйте.

Делаю что то вроде поиска и хотелось сделать подсветку найденным элементам.
Соответственно чтобы подсвечивалось все что надодиться не между < > (т.е. все кроме тегов HTML)

$comm = preg_replace ("/(.[^<]\*)($s)(\*.[^>])/i" , "\1<span class=back_text>\2</span>\3", $comm);

Вот так поидее все должно работать, но не работает.=)
Уже начал использовать метод тыка.
Помогите пожалуйста.
Заранее большое спасибо.

Автор: Sardar 3.2.2004, 21:33
Не понял вопроса... У тебя есть готовое слово(техт) в $s, зачем тогда тебе реги? http://www.php.net/str_replace.

Автор: MuToGeN 4.2.2004, 01:45
Не "\1<span class=back_text>\2</span>\3", а "\\1<span class=back_text>\\2</span>\\3"

Автор: Sardar 4.2.2004, 03:39
Зачем здесь реги мне не понятно, наверное есть слова похожие на теги, соответственно теги трогать не надо...

Правильный рег: "/([^<]*)(${s})([^>]*)/i", т.е. звездочку не экранируем.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)