Функции регулярных выражений (стиля POSIX)
Подсказка:
PHP также поддерживает регулярные выражения, используя Perl-совместимый синтаксис, с использованием функций PCRE. Те функции поддерживают нежадное соответствие, утверждения, условные подобразцы, и множество других особенностей, не поддерживаемых POSIX синтаксисом регулярных выражений.
Внимание |
Данные функции регулярных выражений не являются бинарно-безопасными |
Регулярные выражения используются для комплексной манипуляции строками. PHP использует POSIX регулярные выражения как используемые по стандарту POSIX
1003.2. Для получения полного описания регулярных выражений POSIX смотрите regex
man pages включающие директорию regex в PHP дистрибуции. Это находится в формате manpage, так что вам захочется сделать кое-что по строкам
man /usr/local/src/regex/regex.7 для прочтения.
Эти функции всегда доступны.
Внимание |
Не изменяйте TYPE, если Вы не знаете то, что Вы делаете.
|
Для включения поддержки regexp, вам необходим PHP, скомпилированный с опцией
--with-regex[=TYPE]. TYPE должен быть одним из системы, apache, php. По умолчанию используется php.
Версия PHP для
Windows имеет встроенную поддержку данного расширения. Это означает, что
для использования данных функций не требуется загрузка никаких
дополнительных расширений. Данное расширение не определяет никакие директивы конфигурации в php.ini. Данное расширение не определяет никакие типы ресурсов. Данное расширение не определяет никакие константы.
Пример 1. Пример использования регулярных выражений стиля POSIX
<?php
// Возвращает true если "abc" найдена где-либо в $string.
ereg("abc", $string);
// Возвращает true если "abc" найдена в начале $string.
ereg("^abc", $string);
// Возвращает true если "abc" найдена в конце $string.
ereg("abc$", $string);
// Возвращает true если клиентский браузер Netscape 2, 3 или MSIE 3.
eregi("(ozilla.[23]|MSIE.3)", $HTTP_USER_AGENT);
// Устанавливает три пробела при разделении слов в $regs[1], $regs[2] and $regs[3].
ereg("([[:alnum:]]+) ([[:alnum:]]+) ([[:alnum:]]+)", $string, $regs);
// Вставляет тег <br /> в начале $string.
$string = ereg_replace("^", "<br />", $string);
// Вставляет тег <br /> в конце $string.
$string = ereg_replace("$", "<br />", $string);
// Избавляется от любых символов перевода строки в $string.
$string = ereg_replace("\n", "", $string); ?>
|
|
Для регулярных выражений в Perl-совместимом синтаксисе, обратите внимание на функции
PCRE. Более простое сопоставление с образцом подстановочных знаков стиля оболочки обеспечивается функцией fnmatch().
Содержание
- ereg_replace -- Замещает регулярное выражение
- ereg -- Ищет совпадение с регулярным выражением
- eregi_replace -- Замещает регулярное выражение без учета регистра
- eregi -- Ищет совпадение с регулярным выражением без учета регистра
- split -- Разделяет строку в массив по регулярному выражению
- spliti -- Разделяет строку в массив по регулярному выражению без учета регистра
- sql_regcase --
Создаёт регулярное выражение для поиска совпадений без учёта регистра
|