Четверг, 21.09.2017
Меню сайта
Авторизация
Логин:
Пароль:
Поиск
Статистика
Рейтинг@Mail.ru
Rambler's Top100 Яндекс цитирования
Наша кнопка
HTMLPerlPHP
Прочее
Главная » Статьи » WEB Программирование » PHP

Поиск тегов с помощью регулярных выражений
Одним из преимуществ PCRE или POSIX является поддержка некоторых специальных конструкций. Например, обычно регулярные выражения сопоставляются "жадно". Возьмем, например, следующее регулярное выражение:

Code
<.*>


Попытаемся сопоставить его со следующей строкой:


Code
<p>Sex, drugs and <b>PHP</b>.</p>


Что получится? Вся строка. Разумеется, <p> так-же подходит под заданный шаблон, но регулярные выражения пытаются найти максимально большое соответствие. Следовательно, обычно требуются такие неуклюжие конструкции, как <[^>]*>. Впрочем, существует и более легкий путь. Чтобы активизировать "не жадное" сопоставление, после оператора * можно использовать модификатор ?.


Code
<?php
$string = '<p>Sex, drugs and <b>PHP</b>.</p>';
preg_match_all('/<.*?>/', $string, $matches);
foreach ($matches[0] as $match) {
echo htmlspecialchars("$match ");
}
?>


Приведенный код даст следующий результат:


Code
<p> <b> </b> </p>
Категория: PHP | Просмотров: 7883 | Добавил: mcreyt | Дата: 04.01.2010 | Комментарии: 1
Похожие материалы:
Всего комментариев: 1
0  
Traivafaics   (21.11.2012 04:16)
Ну-ну, может и так
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]