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().
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 ); |
int eregi
(string pattern, string string, array [regs]);
Эта функция идентична ereg() , за исключением того, что она игнорирует различие в регистре у буквенных символов.
См. также ereg(), ereg_replace(), и eregi_replace().
string eregi_replace
(string pattern, string replacement, string string);
Эта функция идентична ereg_replace() за исключением того, что она игнорирует различие в регистре у буквенных символов.
См. также ereg(), eregi(), и ereg_replace().
array split
(string pattern, string string, int [limit]);
Возвращает массив строк, каждая из которых является подстрокой строки, образованные разбитием этой строки на части, отделенные друг от друга pattern. Если произойдет ошибка, функция вернет false.
Для получения первых 5 полей из строки в /etc/passwd:
Пример 1. split() $passwd_list = split( ":", $passwd_line, 5 ); |
Следует отметить, что pattern чувствительна к регистру.
См. также: explode() и implode().
string sql_regcase
(string string);
Возвращает верное регулярное выражение, которое не будет соответствовать string, игнорирую регистр. Это выражение является string , каждый символ которой переводится в выражение с квадратными скобками; это выражение содержит символы исходной строки в верхнем и нижнем регистре, если это возможно, в противном случае дважды вставляется исходный символ.
Пример 1. sql_regcase() echo sql_regcase( "Foo bar" ); |
[Ff][Oo][Oo][ ][Bb][Aa][Rr].
Эта функция может быть использована организации нечувствительного к регистру сравнения в продуктах, которые поддерживают только чувстуительные к регистру выражения.