ereg - Совпадение с регулярным выражением
Вернуться к: Функции регулярных выражений POSIX
ereg
(PHP 4, PHP 5)
ereg — Совпадение с регулярным выражением
Описание
$pattern
, string $string
[, array &$regs
] )
Ищет в строке 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.
Функция ereg() является устаревшей начиная с PHP 5.3.0. Предлагается использовать вместо неё функцию preg_match().
Смотрите также
- eregi() - Совпадение с регулярным выражением без учёта регистра
- ereg_replace() - Осуществляет замену по регулярному выражению
- eregi_replace() - Осуществляет замену по регулярному выражению без учета регистра
- preg_match() - Выполняет проверку на соответствие регулярному выражению
- strpos() - Возвращает позицию первого вхождения подстроки
- strstr() - Находит первое вхождение подстроки
- quotemeta() - Экранирует специальные символы
Вернуться к: Функции регулярных выражений POSIX