Руководство по РНР 3.0 - Функции регулярных выражений
Содержание
ereg
ereg_replace
eregi
eregi_replace
split
sql_regcase

ereg

ereg -- парное значение регулярного выражения
Описание
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_replace

ereg_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().


eregi

eregi -- нечувствительный к регистру поиск парных значений в регулярных выражениях
Описание
int eregi(string pattern, string string, array [regs]);

Эта функция идентична ereg() , за исключением того, что она игнорирует различие в регистре у буквенных символов.

См. также ereg(), ereg_replace(), и eregi_replace().


eregi_replace

eregi_replace -- замена регулярного выражения без учета регистра
Описание
string eregi_replace(string pattern, string replacement, string string);

Эта функция идентична ereg_replace() за исключением того, что она игнорирует различие в регистре у буквенных символов.

См. также ereg(), eregi(), и ereg_replace().


split

split -- разбивает строку на массив по регулярному выражению
Описание
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_regcase

sql_regcase -- подготавливает регулярное выражение к поиску без учета регистра
Описание
string sql_regcase(string string);

Возвращает верное регулярное выражение, которое не будет соответствовать string, игнорирую регистр. Это выражение является string , каждый символ которой переводится в выражение с квадратными скобками; это выражение содержит символы исходной строки в верхнем и нижнем регистре, если это возможно, в противном случае дважды вставляется исходный символ.

Пример 1. sql_regcase()

echo sql_regcase( "Foo bar" );
Будет выдано

[Ff][Oo][Oo][  ][Bb][Aa][Rr]
.

Эта функция может быть использована организации нечувствительного к регистру сравнения в продуктах, которые поддерживают только чувстуительные к регистру выражения.

Назад, к содержанию




HTML Site Map

Rambler's Top100
© 2009 Тест скорости интернета |  Boont.Ru