04.04.2009, 14:16 | #1 |
Специалист
Регистрация: 15.06.2007
Сообщений: 392
Вес репутации: 217
|
Вопрос по регулярке
каким регулярным выражением сделать так чтобы обрабатывалось все что после слова - фасол ?
например фасоль, фасолью и пр... пробовал /^фасол/ - не помогает.. Добавлено через 1 минуту делал так: PHP код:
__________________
Сделаю сайт на Joomla (в личку), хорошие, серьезные сайты. Последний раз редактировалось Sway; 04.04.2009 в 14:19. Причина: Добавлено сообщение |
04.04.2009, 20:05 | #3 |
Специалист
Регистрация: 15.06.2007
Сообщений: 392
Вес репутации: 217
|
писал так:
PHP код:
__________________
Сделаю сайт на Joomla (в личку), хорошие, серьезные сайты. |
04.04.2009, 20:46 | #4 |
Мастер
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 238
|
Так не получиться, надо что-то примерное
PHP код:
|
04.04.2009, 20:56 | #5 |
Специалист
Регистрация: 15.06.2007
Сообщений: 392
Вес репутации: 217
|
дак ведь preg_match - это уже поиск и замена.
тоесть используя этот код: PHP код:
рассказ про <a href="/index.php?text=facol" title="Фасоль">фасоль</a> и о <a href="/index.php?text=facol" title="Фасоль">фасоле</a> ну или как то так)
__________________
Сделаю сайт на Joomla (в личку), хорошие, серьезные сайты. |
04.04.2009, 22:03 | #6 |
Новичок
Регистрация: 17.03.2009
Сообщений: 3
Вес репутации: 0
|
PHP код:
|
04.04.2009, 22:18 | #7 | |
Специалист
Регистрация: 15.06.2007
Сообщений: 392
Вес репутации: 217
|
Цитата:
а можно разъяснить, как вот это: \\1 - сработало? получается, что, нашел, то и подставил?
__________________
Сделаю сайт на Joomla (в личку), хорошие, серьезные сайты. |
|
04.04.2009, 22:31 | #8 | |
Эксперт
Регистрация: 05.03.2008
Сообщений: 1,095
Вес репутации: 250
|
Вот прикинул на питоне (на пхп сейчас практически не пишу, но аналогичное точно можно сделать и на пхп):
import re def repl(s): return u'<a href="/index.php?text=facol" title="Фасоль">%s</a>' % s.group(1) print re.sub(ur'(фасол[а-я]+)', repl, u'рассказ про фасоль и о фасоли') Пример выдает: рассказ про <a href="/index.php?text=facol" title="Фасоль">фасоль</a> и о <a href="/index.php?text=facol" title="Фасоль">фасоли</a> Сначала определяем функцию repl, которой будут передаваться найденные подстроки в виде объектов для замены. А затем используем метод регулярных выражений sub, которому передаем регулярное выражение, исходный текст и функцию, которая обрабатывает замену. На пхп я такое раньше тоже делал. Добавлено через 3 минуты Sway Цитата:
Можно через подстановку \1... или в сложных случаях, как в моем примере на питоне через ф-цию замену обрабатывать. preg_replace вроде также может принимать функцию вместо строки для замены. Последний раз редактировалось boric; 04.04.2009 в 22:31. Причина: Добавлено сообщение |
|
04.04.2009, 22:35 | #9 |
Специалист
Регистрация: 15.06.2007
Сообщений: 392
Вес репутации: 217
|
спасибо, разобрался
__________________
Сделаю сайт на Joomla (в личку), хорошие, серьезные сайты. |
04.04.2009, 22:55 | #10 | ||
Мастер
Регистрация: 17.03.2008
Сообщений: 638
Вес репутации: 238
|
Цитата:
Цитата:
|
||