Учебник по основам PHP. PHPBeginner


Функции регулярных выражений (PCRE)


pregjnatch

Одиночный регулярный поиск

int pregjnatch (string pattern, string subject [, array matches])

Ищет в тексте, указанном аргументом subject, соответствие шаблону, указанному в pattern. Если совпадение находится, то функция возвращает TRUE, в противном случае — FALSE.

При указании в аргументе matches массива (одномерного) он заполняется найденными фрагментами совпадения. $matches[0] будет содержать фрагмент, совпадающий с полным шаблоном, $matches[l] -совпадение с первым подшаблоном и т. д.

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

if (pregjnatch ("/XX/i". "уу Хх хухх")) { // игнорировать регистр print "Найдено" } else { rint "Безуспешный поиск". if (preg_match C7\bxx\b/i" . "уу Хх лухх")) // искать слово '<хх» print "Найдено": else print "Безуспешный поиск"; preg_match("r(http "http-//www php.net/index.html", Smatches): $host = $matches[2]: //должно содержать: www.php.net // найти имена двух последних доменов сервера preg_match("/r\.\/]-t-\.r\.\/]+$/".$host.$matches): echo "domain name is: ".$matches[0]."\n": // напечатает domain nane is php net

См. также: pregjnatcrall(), preg_replace(), preg_split().

preg_match_all

Полный регулярный поиск

int preg_match_all (string pattern, string subject, array matches [, int order])

Ищет в тексте, указанном аргументом subject, все возможные соответствия шаблону, указанному в pattern. Поиск последующих совпадений производится от места последнего совпадения. Функция возвращает число совпадений с полным шаблоном или FALSE, если совпадений не было (или произошла ошибка).

В аргументе matches указывается массив (двухмерный), который заполняется найденными фрагментами совпадения. Аргумент order определяет вид, в котором сохраняются результаты поиска в массиве matches, и может принимать два значения.

PREG_PATTERN_ORDER (по умолчанию) - в виде [(под)шаб-лон] [фрагмент]. В (под)массиве Smatches[0] сохраняются совпадения с полным шаблоном, в $matches[l] и последующих — совпадения с подшаблонами. preg_match__all ("|<[A>]+>( .*)</[*>]+>|U". "<b>Пример: </b> <div aliqn=left> мой текст </div>", Jout. PREG_PATTERN_ORDER):




Начало  Назад  Вперед



Книжный магазин