(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.
Замечание:
Функция preg_match(), которая использует Perl-совместимый синтаксис регулярного выражения, часто является более быстрой альтернативой функции ereg().