ereg - Совпадение с регулярным выражением
Вернуться к: Функции регулярных выражений POSIX
ereg
(PHP 4, PHP 5)
ereg — Совпадение с регулярным выражением
Описание
Ищет в строке string совпадения с регулярным выражением, заданным в pattern регистрозависимым образом.
С версии PHP 5.3.0 эта функция считается УСТАРЕВШЕЙ. Крайне не рекомендуется полагаться на эту возможность.
Список параметров
- pattern
-
Регулярное выражение, чувствительное к регистру.
- string
-
Входная строка.
- regs
-
Если совпадения найдены для подстрок в скобках из pattern, и функция вызывается с третьим аргументом regs, совпадения будут сохранены в элементах массива regs.
$regs[1] будет содержать подстроку, которая начинается с первой левой круглой скобки; $regs[2] будет содержать подстроку, начинающуюся со второй, и т.д. $regs[0] будет содержать полную копию совпавшей строки.
Возвращаемые значения
Возвращает длину совпавшей строки, если совпадение c pattern найдено в string, или FALSE, если совпадений не было или возникла ошибка.
Если необязательный параметр regs не передан, или длина совпавшей строки равна 0, функция возвращает 1.
Список изменений
| Версия | Описание |
|---|---|
| 4.1.0 | Вплоть до (и включая) PHP 4.1.0 $regs будет заполняться точно десятью элементами, хотя реально может совпасть больше или меньше десяти подстрок в скобках. Это не влияет на способность ereg() совпадать с большим количеством подстрок. Если совпадения не найдены, $regs не будет изменен функцией ereg(). |
Примеры
Пример #1 Пример использования ereg()
Следующий фрагмент кода принимает дату в формате ISO (YYYY-MM-DD) и печатает её в формате DD.MM.YYYY:
<?php
if (ereg ("([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs)) {
echo "$regs[3].$regs[2].$regs[1]";
} else {
echo "Недопустимый формат даты: $date";
}
?>
Примечания
Замечание:
С версии PHP 5.3.0, расширение regex помечено устаревшим и заменено расширением PCRE. Вызов этой функции приведет к ошибке уровня E_DEPRECATED. Смотрите список отличий для помощи при конвертировании в PCRE.
Замечание:
Функция preg_match(), которая использует Perl-совместимый синтаксис регулярного выражения, часто является более быстрой альтернативой функции ereg().
Смотрите также
- eregi() - Совпадение с регулярным выражением без учёта регистра
- ereg_replace() - Осуществляет замену по регулярному выражению
- eregi_replace() - Осуществляет замену по регулярному выражению без учета регистра
- preg_match() - Выполняет проверку на соответствие регулярному выражению
- strpos() - Возвращает позицию первого вхождения подстроки
- strstr() - Находит первое вхождение подстроки
- quotemeta() - Экранирует специальные символы
Вернуться к: Функции регулярных выражений POSIX