preg_match
(PHP 3>= 3.0.9, PHP 4 >= 4.0.0)
preg_match -- Представляет строку,
соответствующую регулярному выражению.Описание
int preg_match
(string pattern, string subject [, array matches])
Ищет в subject соответствия
регулярному выражению, заданному в pattern.
Если matches указано, то ему
присваивается результат поиска. $matches[0]
будет содержать текст, соответствующий
всему шаблону (pattern), в $matches[1] будет
текст, соответствующий первому введенному
подшаблону (subpattern) и так далее.
Функция возвращает TRUE если
соответствующий шаблону текст был найден в subject,
или FALSE в обратном случае.
Пример 1. Нахождение слова "php"
в тексте
// "i" после разделителя шаблона указывает
// на нечувствительность поиска к регистру букв
if (preg_match ("/php/i", "PHP is the web scripting
language of choice."))
{
print "A match was found.";
} else {
print "A match was not found.";
}
|
|
Пример 2.Нахождение слова "web"
// \b в шаблоне указывает на границу слова, поэтому только слово
// "web" будет соответствовать шаблону,
// а не части слов типа "webbing" или "cobweb"
if (preg_match ("/\bweb\b/i", "PHP is the web scripting
language of choice."))
{
print "A match was found.";
} else {
print "A match was not found.";
}
if(preg_match("/\bweb\b/i","PHP is the website
scripting language of choice."))
{
print "A match was found.";
} else {
print "A match was not found.";
}
|
|
Example 3. Получение имени домена из URL
// получение имени хоста из 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";
|
Пример выведет:
|
Смотрите также preg_match_all(),
preg_replace(), и preg_split().<-Назад
Список всех функций Если вы заметили ошибку, неточность, либо хотите опубликовть свой перевод неуказанных в разделе функций, пожалуйста, напишите по этому адресу.
|