Использование функции preg_match () в PHP

Use Preg_match Function Php



Регулярное выражение - это особый шаблон, который можно использовать для поиска, поиска и замены любой конкретной строки в текстовых данных. Это мощная функция любого языка программирования. Он в основном используется для выполнения различных типов проверки форм, таких как проверка электронной почты, проверка формата телефона, проверка полей имени пользователя и пароля в форме входа и т. Д. Любое конкретное содержимое текста может быть найдено и заменено с помощью регулярного выражения. шаблон. Его также называют регулярным выражением или RegExp. Для определения шаблона регулярного выражения используются разные типы символов.

В PHP существует множество встроенных функций для регулярного выражения. Функция preg_match () - одна из них. Эта функция используется для сопоставления определенного шаблона в строковых данных. В этом руководстве объясняется, как функцию preg_match () можно использовать в PHP для выполнения различных задач.







Синтаксис:

Int илиложный preg_match (нить$ шаблон,нить$ тема [, множество &$ совпадения знак равно нулевой [,int$ flags знак равно 0 [,int$ смещение знак равно 0]]])

Эта функция может принимать пять аргументов. Первый аргумент, $ шаблон , является обязательным и определяет шаблон для сопоставления. Второй аргумент, $ тема , является обязательным и содержит строковые данные, в которых будет применяться шаблон. Третий аргумент, $ совпадения , является необязательным и возвращает массив на основе совпадения. Четвертый аргумент, $ flags , является необязательным и содержит различные типы значений флагов в зависимости от совпадения. Пятый аргумент, $ смещение , является необязательным и может использоваться для определения начальной позиции поиска.



Пример 1. Сопоставьте шаблон с учетом регистра и без учета регистра

В следующем примере показано использование функции preg_match () для сопоставления строки с учетом регистра и без учета регистра. Создайте файл PHP со следующим скриптом.



Здесь три шаблона используются для применения в трех функциях preg_match (). Первый узор, '/Нравиться/', используется для сопоставления строки с учетом регистра. Второй узор, '/нравиться/' , используется для сопоставления строки с учетом регистра. Третий узор, 'Как я' , используется для сопоставления строки без учета регистра. search_pattern () Функция определена в сценарии для использования функции preg_match () для сопоставления, и она печатает сообщение на основе возвращенного значения этой функции.







// Определяем текст

$ text знак равно «Мне нравится PHP. Мне тоже нравится JavaScript ».;

// Определяем три типа паттернов

$ pattern1 знак равно '/Нравиться/';

$ pattern2 знак равно '/нравиться/';

$ pattern3 знак равно '/Как я';

// Определяем функцию для поиска паттерна в тексте

функцияsearch_pattern($ шаблон, $ строка)

{

если( preg_match ($ шаблон, $ строка))

выбросил 'Результат поиска: Найдено совпадение по образцу -$ шаблон
'
;

еще

выбросил 'Результат поиска: Соответствие шаблону не найдено -$ шаблон
'
;

}

// Распечатываем исходный текст

выбросил 'Исходный текст: $ text
'
;

// Трижды вызываем функцию для трех паттернов

search_pattern($ pattern1, $ text);

search_pattern($ pattern2, $ text);

search_pattern($ pattern3, $ text);

?>

Выход :

Следующий вывод появится после запуска сценария с сервера. В первой строке показан текст, в котором был произведен поиск шаблонов. Вторая строка показывает результат первого шаблона. Третья строка показывает результат второго шаблона. Четвертая строка показывает результат третьего шаблона.



Пример 2: Проверить URL

В следующем примере показан способ проверки URL-адреса с помощью функции preg_match (). Создайте файл PHP со следующим скриптом.

Значение URL присваивается в переменной $ url для тестирования. Строка ‘@ ^ (?: Https: //)? ([^ /] +) @I’ используется в качестве шаблона в функции preg_match () для проверки правильности URL-адреса. Если он действителен, то будут напечатаны имя хоста и имя домена, в противном случае будет напечатано сообщение об ошибке.



// Определяем URL

$ url знак равно 'https://www.linuxhint.com';

// Определяем шаблон для проверки URL

$ шаблон знак равно'@ ^ (?: https: //)? ([^ /] +) @i';

// Проверяем, действителен ли URL

если( preg_match ($ шаблон, $ url, $ match1))

{

// Распечатываем сообщение об успешном завершении

выбросил 'URL-адрес действителен.
'
;

// Распечатываем массив, содержащий совпадающие значения

выбросил 'Значения массива:';

print_r ($ match1);

// Получить и распечатать значение хоста

$ host знак равно $ match1[1];

выбросил '
Имя хоста:$ host'
;

// Ищем доменное имя по значению хоста

preg_match ('/[^.-lex.europa.eu+.[^.íritu+$/', $ host, $ match2);

выбросил '
Доменное имя:{$ match2 [0]}'
;

}

еще

{

// Распечатать сообщение об ошибке

выбросил 'Неверный URL.';

}

?>

Выход :

Следующий вывод появится после запуска сценария с сервера. Указанный в сценарии URL-адрес действителен. Итак, выходные данные показывают значения совпадений $, имя хоста URL-адреса и доменное имя URL-адреса.

Пример 3: шаблон поиска со значениями флага и смещения

В следующем примере показано использование значений флага и смещения в функции preg_match (). Создайте файл PHP со следующим скриптом.

В скрипте используются три шаблона для трех типов сопоставления. В первой функции preg_match () в качестве шаблона используется «/ (bangla) (desh) /», а в качестве значения флага используется PREG_OFFSET_CAPTURE. Ценности $ совпадения переменная будет печататься на основе вывода первой функции preg_match (). Во второй функции preg_match () ‘/ (bangla) (glad) * (desh) / i’ используется как шаблон, а значение флага - PREG_UNMATCHED_AS_NULL. Если какая-либо часть шаблона не совпадает, в массиве будет сохранено значение NULL. Ценности $ совпадения переменная будет печататься на основе вывода второй функции preg_match (). В третьей функции preg_match () «/ glad /» используется в качестве шаблона, используется значение флага, PREG_OFFSET_CAPTURE, а 3 используется в качестве значения смещения. Ценности $ совпадения переменная будет печататься на основе вывода третьей функции preg_match ().



// Определяем текстовое значение

$ text знак равно 'Бангладеш';

// Определяем три типа паттернов

$ pattern1 знак равно '/ (бангла) (деш) / я';

$ pattern2 знак равно '/ (бангла) (рад) * (деш) / я';

$ pattern3 знак равно '/радостный/';


// Использование флага PREG_OFFSET_CAPTURE

preg_match ($ pattern1, $ text, $ совпадения,PREG_OFFSET_CAPTURE);

выбросил '
';  

print_r ($matches);

echo '

'
;

// Использование флага PREG_UNMATCHED_AS_NULL

preg_match ($ pattern2, $ text, $ совпадения,PREG_UNMATCHED_AS_NULL);

выбросил '
';  

print_r ($matches);

echo '

'
;

// Использование флага PREG_OFFSET_CAPTURE и значения смещения

preg_match ($ pattern3, $ text, $ совпадения,PREG_OFFSET_CAPTURE, 3);

выбросил '
';  

print_r ($matches);

echo '
'
;

?>

Выход :

Следующий вывод появится после запуска сценария с сервера.

Заключение

Использование функции preg_match () было объяснено в этом руководстве на нескольких примерах. Здесь также показано использование различных аргументов этой функции. Читатели смогут правильно использовать эту функцию в своих скриптах после прочтения этого руководства.