Forum Webscript.Ru

Программирование => Регулярные выражения => Тема начата: Nickolaz от 23 Января 2006, 13:32:49

Название: выделение подстроки
Отправлено: Nickolaz от 23 Января 2006, 13:32:49
Подскажите, пожалуйста, как выделить найденную подстроку в строке тегами...

Есть массив слов:
$words=array(\'lala\',\'B\');

При выделении тегом обычное рег. выражение выделяет вставленные ранее теги, получается каша :(

Понимаю, что надо использовать lookahead и lookbefore, но что-то не получилось. И решения в интернете почему-то не нашел

итак хотелось бы, чтобы строка
 A lala got a Book

Превращалась в
 A lala got a Book.

А не в
 A <B>lalaB
>ook.

Буду безмерно благодарен, если еще в этом рег. выражении будет возможность проверки на выделенность, т.е. слова: $words=array(\'lala\',\'al\')
Превращали строку выше в :
A lala got a Book
А не в:
A lala got a Book


Большое Спасибо :)
Название: выделение подстроки
Отправлено: Nickolaz от 23 Января 2006, 13:50:01
пока работает сие чудо:
|(?]*/B>)|i

но очень хочется его упростить...
Тем более, кажется, что оно не совсем верно :(
Название: выделение подстроки
Отправлено: MegaShops от 10 Февраля 2006, 15:28:51
Тебе надо конкретно слова выделять или хочешь сделать автоматом заглавные буквы ?
Если слова - то ищи пробел за ними, а если заглавные то смотри что бы буквы были большие - тогда каши не будет...
Название: выделение подстроки
Отправлено: Nickolaz от 11 Февраля 2006, 00:19:53
ммм... Не очень понятен ответ :( Что-то наверное неправильно объяснил.
Нужно выделить некоторое количество слов в html-коде, не затронув при этом теги, и чтобы слова не перекрывались.
Я дал несколько примеров, посмотрите пожалуйста.
Что, собственно, нужно... нужно регулярное выражение, которое выделяло бы определенное слово, не затронув при этом структуру страницы (т.е. не изменив теги). Так же бы очень хотелось, чтобы содержимое тегов типа