Замена подстрок только _вне тегов_

BNS

Новичок
Замена подстрок только _вне тегов_

Занялся я тут скриптом поиска и подумал, что неплохо будет подсветить слова, которые юзер искал...

Но тут есть проблеммка: если слово находится внутри < >, (к примеру, юзер ищет "href" - и если тупо заменять

str_replace($found,"<b>" . $found . "<b>",$string);

то будет

<a <b>href</b>="www"> .... </a>

Вероятно, надо писать это с помощью EREG, но я в нем не силен :(...

Помогите, пожалуйста, а то я уже офигеваю инет лопатить - никто ничего хорошего не придумал...
 

Фанат

oncle terrible
Команда форума
сначала отделить теги от текста ([m]preg_split[/m], читать внимательно про модификаторы), потом заменить в тексте, потом снова соединить теги с текстом.


и не надо писать в форум для продвинутых. им твои проблемы неинтересны.
 

BNS

Новичок
Да, возможно, но мне казалось, что EREG - не такая простая штука...
 

BNS

Новичок
Ну у меня есть книга по РНР - из серии "Самоучитель" (изд. БХВ) - там довольно муторно все описано...
 

Фанат

oncle terrible
Команда форума
у меня есть предположение, что муторная у тебя не книга...
 

BNS

Новичок
Чтобы так говорить надо ее прочитать - ты ее читал? Или тебе просто нравится чувство превосходства ;)

На самом деле RegExp - не сложная вещь, просто у меня не получилось написать то, что я хотел, вероятно из-за отсутствия опыта.

Про функцию preg_split в этой мега-книге нет ни слова =)

Если ты знаешь не очень извращенный способ сделать это без этой замечательной функции - поделись соображением...

Функция split() для этого не подходит - у нее нет модификаторов, присущих preg_split, а других функций кроме этой и explode() до общения с тобой я не знал...
 

SiMM

Новичок
> Про функцию preg_split в этой мега-книге нет ни слова =)
Вообще-то существует такое понятие, как онлайн (оффлайн) мануал. [m]preg_split[/m]
Да и ссылку Фаната неплохо бы прочесть, если ещё не ознакомисля со всем материалом.
 

Фанат

oncle terrible
Команда форума
Интересно.
Я тебе даю ссылку, где подробно и просто объяснено про регулярные.
А ты мне после этого рассказываешь про свою книжку п иросишь объяснить, ссылаясь на неё.
Оригинаольный подход.
 

BNS

Новичок
Да ептить! Я внимательнейшим образом прочел то, что Фанат мне написал, за ссылку я ему безмерно благодарен! Ничего объяснять мне не надо - я не тупой и сам все пойму. Просто меня напрягают двусмысленные фразы вроде "у меня есть предположение, что муторная у тебя не книга" и "и не надо писать в форум для продвинутых. им твои проблемы неинтересны" - я объясняю, почему я решил отпостить именно в этот форум. А дальше - пошло, поехало.

Короче, это беспредметный разговор, и его надо заканчивать. За ссылку - огромное спасибо, она многое расставила по местам. Отдельное спасибо за скорость реакции ;).
 
Сверху