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