preg_match

(PHP 3>= 3.0.9, PHP 4 , PHP 5)

preg_match -- бШОНКМЪЕР ОПНБЕПЙС МЮ ЯННРБЕРЯРБХЕ ПЕЦСКЪПМНЛС БШПЮФЕМХЧ

нОХЯЮМХЕ

int preg_match ( string pattern, string subject [, array matches [, int flags [, int offset]]])

хЫЕР Б ГЮДЮММНЛ РЕЙЯРЕ subject ЯНБОЮДЕМХЪ Я ЬЮАКНМНЛ pattern

б ЯКСВЮЕ, ЕЯКХ ДНОНКМХРЕКЭМШИ ОЮПЮЛЕРП matches СЙЮГЮМ, НМ АСДЕР ГЮОНКМЕМ ПЕГСКЭРЮРЮЛХ ОНХЯЙЮ. щКЕЛЕМР $matches[0] АСДЕР ЯНДЕПФЮРЭ ВЮЯРЭ ЯРПНЙХ, ЯННРБЕРЯРБСЧЫСЧ БУНФДЕМХЧ БЯЕЦН ЬЮАКНМЮ, $matches[1] - ВЮЯРЭ ЯРПНЙХ, ЯННРБЕРЯРБСЧЫСЧ ОЕПБНИ ОНДЛЮЯЙЕ, Х РЮЙ ДЮКЕЕ.

flags ЛНФЕР ОПХМХЛЮРЭ ЯКЕДСЧЫХЕ ГМЮВЕМХЪ:

PREG_OFFSET_CAPTURE

б ЯКСВЮЕ, ЕЯКХ ЩРНР ТКЮЦ СЙЮГЮМ, ДКЪ ЙЮФДНИ МЮИДЕММНИ ОНДЯРПНЙХ АСДЕР СЙЮГЮМЮ ЕЕ ОНГХЖХЪ Б ХЯУНДМНИ ЯРПНЙЕ. мЕНАУНДХЛН ОНЛМХРЭ, ВРН ЩРНР ТКЮЦ ЛЕМЪЕР ТНПЛЮР БНГБПЮЫЮЕЛШУ ДЮММШУ: ЙЮФДНЕ БУНФДЕМХЕ БНГБПЮЫЮЕРЯЪ Б БХДЕ ЛЮЯЯХБЮ, Б МСКЕБНЛ ЩКЕЛЕМРЕ ЙНРНПНЦН ЯНДЕПФХРЯЪ МЮИДЕММЮЪ ОНДЯРПНЙЮ, Ю Б ОЕПБНЛ - ЯЛЕЫЕМХЕ. дЮММШИ ТКЮЦ ДНЯРСОЕМ Б PHP 4.3.0 Х БШЬЕ.

дНОНКМХРЕКЭМШИ ОЮПЮЛЕРП flags ДНЯРСОЕМ МЮВХМЮЪ Я PHP 4.3.0.

оНХЯЙ НЯСЫЕЯРБКЪЕРЯЪ ЯКЕБЮ МЮОПЮБН, Я МЮВЮКЮ ЯРПНЙХ. дНОНКМХРЕКЭМШИ ОЮПЮЛЕРП offset ЛНФЕР АШРЭ ХЯОНКЭГНБЮМ ДКЪ СЙЮГЮМХЪ ЮКЭРЕПМЮРХБМНИ МЮВЮКЭМНИ ОНГХЖХХ ДКЪ ОНХЯЙЮ. юМЮКНЦХВМНЦН ПЕГСКЭРЮРЮ ЛНФМН ДНЯРХВЭ, ГЮЛЕМХБ subject МЮ substr()($subject, $offset). дНОНКМХРЕКЭМШИ ОЮПЮЛЕРП offset ДНЯРСОЕМ МЮВХМЮЪ Я PHP 4.3.3.

тСМЙЖХЪ preg_match() БНГБПЮЫЮЕР ЙНКХВЕЯРБН МЮИДЕММШУ ЯННРБЕРЯРБХИ. щРН ЛНФЕР АШРЭ 0 (ЯНБОЮДЕМХЪ МЕ МЮИДЕМШ) Х 1, ОНЯЙНКЭЙС preg_match() ОПЕЙПЮЫЮЕР ЯБНЧ ПЮАНРС ОНЯКЕ ОЕПБНЦН МЮИДЕММНЦН ЯНБОЮДЕМХЪ. еЯКХ МЕНАУНДХЛН МЮИРХ КХАН ЯНЯВХРЮРЭ БЯЕ ЯНБОЮДЕМХЪ, ЯКЕДСЕР БНЯОНКЭГНБЮРЭЯЪ ТСМЙЖХЕИ preg_match_all(). тСМЙЖХЪ preg_match() БНГБПЮЫЮЕР FALSE Б ЯКСВЮЕ, ЕЯКХ БН БПЕЛЪ БШОНКМЕМХЪ БНГМХЙКХ ЙЮЙХЕ-КХАН НЬХАЙХ.

Подсказка: мЕ ХЯОНКЭГСИРЕ ТСМЙЖХЧ preg_match(), ЕЯКХ МЕНАУНДХЛН ОПНБЕПХРЭ МЮКХВХЕ ОНДЯРПНЙХ Б ГЮДЮММНИ ЯРПНЙЕ. хЯОНКЭГСИРЕ ДКЪ ЩРНЦН strpos() КХАН strstr(), ОНЯЙНКЭЙС НМХ БШОНКМЪР ЩРС ГЮДЮВС ЦНПЮГДН АШЯРПЕЕ.

Пример 1. оНХЯЙ ОНДЯРПНЙХ "php" Б РЕЙЯРЕ

<?php
// яХЛБНК "i" ОНЯКЕ ГЮЙПШБЮЧЫЕЦН НЦПЮМХВХРЕКЪ ЬЮАКНМЮ НГМЮВЮЕР
// ПЕЦХЯРПНМЕГЮБХЯХЛШИ ОНХЯЙ.
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {
    echo
"бУНФДЕМХЕ МЮИДЕМН.";
} else {
    echo
"бУНФДЕМХЕ МЕ МЮИДЕМН.";
}
?>

Пример 2. оНХЯЙ ЯКНБЮ "web" Б РЕЙЯРЕ

<?php
/*
    яОЕЖХЮКЭМЮЪ ОНЯКЕДНБЮРЕКЭМНЯРЭ \b Б ЬЮАКНМЕ НГМЮВЮЕР ЦПЮМХЖС ЯКНБЮ,
    ЯКЕДНБЮРЕКЭМН, РНКЭЙН ХГНКХПНБЮММНЕ БУНФДЕМХЕ ЯКНБЮ 'web' АСДЕР ЯННРБЕРЯРБНБЮРЭ
    ЛЮЯЙЕ, Б НРКХВХЕ НР "webbing" ХКХ "cobweb".
*/
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
    echo
"бУНФДЕМХЕ МЮИДЕМН.";
} else {
    echo
"бУНФДЕМХЕ МЕ МЮИДЕМН.";
}

if (
preg_match("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
    echo
"бУНФДЕМХЕ МЮИДЕМН.";
} else {
    echo
"бУНФДЕМХЕ МЕ МЮИДЕМН.";
}
?>

Пример 3. хГБКЕВЕМХЕ ДНЛЕММНЦН ХЛЕМХ ХГ URL

<?php
// хГБКЕЙЮЕЛ ХЛЪ УНЯРЮ ХГ URL
preg_match("/^(http:\/\/)?([^\/]+)/i",
    
"http://www.php.net/index.html", $matches);
$host = $matches[2];

// ХГБКЕЙЮЕЛ ДБЕ ОНЯКЕДМХЕ ВЮЯРХ ХЛЕМХ УНЯРЮ
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo
"domain name is: {$matches[0]}\n";
?>

пЕГСКЭРЮР ПЮАНРШ ОПХЛЕПЮ:

domain name is: php.net

яЛНРПХРЕ РЮЙФЕ preg_match_all(), preg_replace(), Х preg_split().


HIVE: All information for read only. Please respect copyright!
Hosted by hive йца: йХЕБЯЙЮЪ ЦНПНДЯЙЮЪ АХАКХНРЕЙЮ