Главная Веб-программинг
PHP |
Регулярные выражения PHP |
|
|
| Автор Игорь Локтев | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 07.03.2009 г. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Давайте рассмотрим регулярные выражения PHP. Сами по себе выражения не являются новинкой, превнесенной PHP. В том или
ином виде они используются уже достаточно большой срок и являются очень мощным
механизмом работы со строковыми данными. Регулярное выражение представляет из себя некий шаблон, который используется
для различных действий в зависимости от функции, использующей это регулярное
выражение. Для задания шаблона используются специальные символы.
Ниже представлена краткая таблица специальных символов и их значений.
Функции работы с регулярными выражениями.Необходимо сказать, что PHP располагает как собственным механизмом работы с регулярными выражениями (POSIX), так и заимствованным у другого серверного языка программирования Perl. Внешне их легко различить по названиям функций: функции первого типа начинаются с символов "ereg", а второго - "preg". Но названия функций не единственное их отличие. Прежде всего они содержат некоторые различия в синтаксисе регулярных выражений. Так, Perl-подобные функии требуют разделители:
Как видите, мы используем функции замены части строки с помощью регулярных выражений. Обратите внимание на шаблон функции preg_replace : в качестве разделителя здесь выступают слеши, причем после закрывающего разделителя следует модификатор i , указывающий, что шаблон является нечувствительным к регистру. Тот же эффект достигается при использовании POSIX функции с суффиксом i ( ereg i _replace ). Результат выполнения этих функций одинаков:
[вырезано] Функция preg_replace в нашем примере проявила так называемую "жадность", и охватила всю строку, которая начинается с буквы "р" и заканчивается "е". Заставить функцию не "жадничать" помогает модификатор U . В этом случае результат ее выполнения будет: [вырезано] вы [вырезано] ние Функция нашла минимальное расстояние между буквами "р" и "е" и заменило его указанной строкой. Функция eregi_replace также проявила "жадность", но изменить этот порядок уже нельзя, так как в POSIX-функциях не предусмотрено использование модификаторов. Бегло рассмотрим и другие функции работы с регулярными выражениями.
Примеры на регулярные выражения.Перевод времени в стандартное время Unix.
Предположим, у нас в базе данных или в другом источнике хранится дата в следующем
формате: Как вы понимаете, вручную заниматься этим - сумасшествие, так что напишем сценарий, который будет на первом этапе приводить дату к виду часы:минуты:секунды месяц/день/год , а затем с помощью функции strtotime() переведить эту запись в стандартное время UNIX, которое мы сможем отображать, как захочется. Самое интересное - первый этап. Он-то нас и интересует в плане использования регулярных выражений.
С помощью регулярного выражения мы изменяем формат записи дня, месяца и года, причем каждый этот элемент обособляем скобками. Во втором параметре функции мы ссылаемся на найденные соответствия в скобках. Вот как это происходит:
На этом этапе мы получем дату "12:57:43 - 03/10/02". Теперь доводим это до конца.
Теперь можно использовать переменную $time, как заблагорассудится. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
Вход / Регистрация
Новое
Продвижение сайта - это следующий логический шаг после завершения разработки са... |
По вашему мнению, сколько цветов в обычной радуге? Мы привыкли, что семь... |
По словам Сергея Брина, соучредителя и директора популярнейшего в мире поискови... |
Почему это важно? Гиперссылка - основа Интернета. Когда человек попадает на люб... |
Приветвтвую, вы хотите себе такие социальные кнопки? Хотите?
|
Последние комментарии
- Как заработать на Так.ру
Я сделал как описано,у меня код html авт... >>> - Как верстать на DIV-ах? Основы блочной в...
статья про блочную верстку неплоха, толь... >>> - Создание юзабилных форм с применением CS...
Каким плагином вы защитили свой сайт от ... >>> - Основные Интернет браузеры для WEB-разра...
Лучшие браузеры это Хром и FF(лучше всег... >>> - Заработок на рекламе Гугл Адсенс - все п...
У меня тоже есть сайт он о цветах но пос... >>>











