Руководство по РНР 3.0 - Функции регулярных выражений
- Содержание
- ereg
- ereg_replace
- eregi
- eregi_replace
- split
- sql_regcase
eregereg -- парное значение регулярного выражения
Описание
int ereg
(string pattern, string string, array [
regs]);
Ищет парные значения string в регулярном выражении, указанном в pattern.
Если парные значения найдены для подстрок в круглых скобках
pattern и функция вызывалась с третьим аргументом regs, то парные значения будут сохранены в элементах regs. $regs[1] будет содержать подстроку, которая начинается с первой левой круглой скобки;
$regs[2] будет содержать подстроку, начинающуюся со второй скобки и т.д. $regs[0]
будет содержать копию string.
Поиск чуствителен к регистру.
Функция возвращает true, если парное значение для pattern было найдено в string,
или false, если не было найдено парных значений или произошла ошибка.
Следующий код извлекает дату в ISO формате и выводит в формате DD.MM.YYYY:
Example 1. ereg() example if ( ereg( "([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})", $date, $regs ) ) {
echo "$regs[3].$regs[2].$regs[1]";
} else {
echo "Invalid date format: $date";
} |
См. также eregi(), ereg_replace(), и eregi_replace().
ereg_replaceereg_replace -- заменяет регулярное выражение
Описание
string ereg_replace
(string pattern, string replacement, string string);
Эта функция сканирует string на парные значения к
pattern, затем заменяет найденный текст на replacement.
Если pattern содержит подстроки в круглых скобках, тоreplacement может содержать подстроки вида
\\цифра, которые будут заменены текстом, совпадающим с цифровой подстрокой в скобках; \\0 обработает все содержимое строки. Может быть использовано до 9 подстрок.
Скобки могут быть сгруппированы, в этом случае они считаются по открывающим скобкам.
Например, следующий код напечатет "This was a test" три раза:
Пример 1. ereg_replace() $string = "This is a test";
echo ereg_replace( " is", " was", $string );
echo ereg_replace( "( )is", "\\1was", $string );
echo ereg_replace( "(( )is)", "\\2was", $string ); |
См. также
ereg(),
eregi(), и
eregi_replace().
eregieregi -- нечувствительный к регистру поиск парных значений в регулярных выражениях
Описание
int eregi
(string pattern, string string, array [
regs]);
Эта функция идентична ereg() , за исключением того, что она игнорирует различие в регистре у буквенных символов.
См. также ereg(), ereg_replace(), и eregi_replace().
eregi_replaceeregi_replace -- замена регулярного выражения без учета регистра
Описание
string eregi_replace
(string pattern, string replacement, string string);
Эта функция идентична ereg_replace() за исключением того, что она игнорирует различие в регистре у буквенных символов.
См. также ereg(), eregi(), и ereg_replace().
splitsplit -- разбивает строку на массив по регулярному выражению
Описание
array split
(string pattern, string string, int [
limit]);
Возвращает массив строк, каждая из которых является подстрокой строки, образованные
разбитием этой строки на части, отделенные друг от друга pattern. Если произойдет ошибка, функция вернет false.
Для получения первых 5 полей из строки в
/etc/passwd:
Пример 1. split() $passwd_list = split( ":", $passwd_line, 5 ); |
Следует отметить, что pattern чувствительна к регистру.
См. также: explode() и implode().
sql_regcasesql_regcase -- подготавливает регулярное выражение к поиску без учета регистра
Описание
string sql_regcase
(string string);
Возвращает верное регулярное выражение, которое не будет соответствовать string, игнорирую регистр. Это выражение является string , каждый символ которой переводится в выражение с квадратными скобками;
это выражение содержит символы исходной строки в верхнем и нижнем регистре, если это возможно,
в противном случае дважды вставляется исходный символ.
Пример 1. sql_regcase() echo sql_regcase( "Foo bar" ); |
Будет выдано
[Ff][Oo][Oo][ ][Bb][Aa][Rr]
.
Эта функция может быть использована организации нечувствительного к регистру сравнения в
продуктах, которые поддерживают только чувстуительные к регистру выражения.
Содержание