[Image] Четверг, 19.12.2024, 03:35 [Image]
SEO, технологии, игры, IT новости
[Image] Главная Регистрация Вход [Image]
[Image] Приветствую Вас, Гость · RSS [Image]
Меню сайта

Форма входа
 Блог
Главная » 2010 » Декабрь » 22 » Именованные шаблоны
16:54
Именованные шаблоны

Великолепным и весьма полезным дополнением в PCRE является концепция именованных захватываемых групп (которые чаще называют имешюанными шаблонами). Такие группы позволяют вам обращаться к подшаблонам вашего выражения по произвольному имени вместо обращения но номеру позиции внутри регулярного выражения. Например, рассмотрим следующее регулярное выражение: /ЛЫате=(.+)$/
Теперь вы должны нормально обращаться к подшаблону (.+) как к первому элементу массива совпадений, возвращенного функцией preg_match () (или как $1 в подстановке, выполненной через вызов preg_replace () либо preg_replace_all ()).
Это все хорошо — по крайней мере, до тех пор, пока у вас есть только ограниченное число подшаблонов, чьи позиции никогда не изменяются. Однако не удастся найти подстроку в позиции, которую нужно добавить к захватываемому подшаблону в начале регулярного выражения, уже содержащего шесть таких подстрок.
К счастью, эта проблема может быть решена раз и навсегда присвоением "имени" каждому подшаблону. Рассмотрим следующий шаблон:
/AName=(? P<thename>. +)$/
Это создаст обратную ссылку внутри вашего выражения, которая может быть явно извлечена по имени thename. Если вы пропустите это выражение через функцию pregjnatch (), обратная ссылка будет вставлена в массив соответствий — как по номеру (с применением обычных правил нумерации), так и по имени. Если же, с другой стороны, вы пропустите его через preg_replace О , то можете обратиться к нему, за-
ключив в скобки и снабдив префиксом ?Р=. Например: preg_replace ("/AName=(?P<thename>.+)$/", "My name is (?P=thename)", $value);
Вы можете сами придумать пример использования этой функциональности.


Категория: Все о PHP | Просмотров: 1173 | Добавил: witkom8382 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024
Категории
Оптимизация сайта [592]
Создание сайтов [355]
Заработать в интернете [508]
Технологии [48]
Полезное [392]
Услуги и сервисы [317]
Автоблог [105]
Скрипты для Ucoz [39]
Движок на сайт [10]
Все о Joomla и Drupal [20]
Все о PHP [91]
Поиск
Пользовательский поиск
Статистика


Онлайн всего: 2
Гостей: 2
Пользователей: 0
Seo сайт, технологии продвижения, мета теги, оптимизация сайтов, новости сео, Скрипты, Ucoz

Рейтинг@Mail.ru