Употреба функције прег_матцх () у ПХП -у

Use Preg_match Function Php



Регуларни израз је одређени образац који се може користити за упаривање, претраживање и замену било ког одређеног низа у текстуалним подацима. То је моћна карактеристика било ког програмског језика. Углавном се користи за обављање различитих врста валидације обрасца, као што је потврђивање е -поште, провера формата телефона, потврђивање поља за корисничко име и лозинку обрасца за пријављивање итд. Било који одређени садржај текста може се претраживати и заменити помоћу регуларног израза шаблон. Такође се назива регек или РегЕкп. За дефинисање шаблона регуларног израза користе се различити типови симбола.

Многе уграђене функције постоје у ПХП-у за регуларни израз. функција прег_матцх () је једна од њих. Ова функција се користи за усклађивање одређеног узорка у низу података. Како се функција прег_матцх () може користити у ПХП -у за извршавање различитих задатака објашњено је у овом водичу.





Синтакса:

Инт орлажно прег_матцх (низ$ образац,низ$ субјецт [, арраи &$ утакмица = нула [,инт$ заставице = 0 [,инт$ оффсет = 0]]])

Ова функција може узети пет аргумената. Први аргумент, $ образац , је обавезан, који дефинише образац за упаривање. Други аргумент, $ субјецт , је обавезна и садржи низ података у којима ће се образац примијенити. Трећи аргумент, $ утакмица , није обавезан и враћа низ заснован на подударању. Четврти аргумент, $ заставице , није обавезно и садржи различите врсте вредности заставице на основу подударања. Пети аргумент, $ оффсет , није обавезан и може се користити за дефинисање почетне позиције претраживања.



Пример 1: Ускладите образац на велика и мала слова и на мала и велика слова

Следећи пример приказује употребу функције прег_матцх () за упаривање низа на велика и мала слова и на мала и велика слова. Направите ПХП датотеку са следећом скриптом.



Овде се користе три обрасца за примену у три функције прег_матцх (). Први образац, '/Као/', користи се за усклађивање низа на велика и мала слова. Други образац, '/као/' , користи се за усклађивање низа на велика и мала слова. Трећи образац, 'Лике/и' , користи се за подударање низа на начин који не разликује велика и мала слова. сеарцх_паттерн () функција је у скрипти дефинисана тако да користи функцију прег_матцх () за подударање, и штампа поруку на основу враћене вредности ове функције.







// Дефинишите текст

$ тект = 'Свиђа ми се ПХП. Свиђа ми се и ЈаваСцрипт. ';

// Дефинишите три врсте шаблона

$ паттерн1 = '/Као/';

$ паттерн2 = '/као/';

$ паттерн3 = '/Лике/и';

// Дефинишите функцију претраживања узорка у тексту

функцијасеарцх_паттерн($ образац, $ стринг)

{

ако( прег_матцх ($ образац, $ стринг))

Избацио 'Резултат претраге: Пронађено је подударање за образац -$ образац
'
;

елсе

Избацио 'Резултат претраге: Подударање за образац није пронађено -$ образац
'
;

}

// Штампа оригинални текст

Избацио „Оригинални текст је: $ тект
'
;

// Позовите функцију три пута за три обрасца

сеарцх_паттерн($ паттерн1, $ тект);

сеарцх_паттерн($ паттерн2, $ тект);

сеарцх_паттерн($ паттерн3, $ тект);

?>

Оутпут :

Следећи излаз ће се појавити након покретања скрипте са сервера. Први ред приказује текст у коме су тражени обрасци. Други ред приказује излаз првог узорка. Трећи ред приказује излаз другог узорка. Четврти ред приказује излаз трећег узорка.



Пример 2: Потврдите УРЛ

Следећи пример приказује начин провере УРЛ адресе помоћу функције прег_матцх (). Направите ПХП датотеку са следећом скриптом.

Вредност УРЛ -а је додељена променљивој $ урл за тестирање. Низ „@^(?: Хттпс: //)? ([^/]+) @И“ користи се као образац у функцији прег_матцх () за проверу да ли је УРЛ адреса важећа или не. Ако је важеће, тада ће се одштампати име хоста и назив домена, у супротном ће се одштампати порука о грешци.



// Дефинишите УРЛ

$ урл = „хттпс://ввв.линукхинт.цом“;

// Дефинишите образац за проверу УРЛ -а

$ образац ='@^(?: хттпс: //)? ([^/]+) @и';

// Проверите да ли је УРЛ тачан или не

ако( прег_матцх ($ образац, $ урл, $ утакмица1))

{

// Одштампајте поруку о успеху

Избацио „УРЛ је важећи.
'
;

// Штампа низ који садржи вредности подударања

Избацио 'Вредности низа су:';

принт_р ($ утакмица1);

// Дохваћање и штампање вредности хоста

$ хост = $ утакмица1[1];

Избацио '
Име домаћина је:$ хост'
;

// Претражите име домена према вредности хоста

прег_матцх ('/[^.-лек.еуропа.еу+.[^.ириту+$/', $ хост, $ утакмица2);

Избацио '
Име домена је:{$ матцх2 [0]}'
;

}

елсе

{

// Одштампај поруку о грешци

Избацио 'Неважећи УРЛ.';

}

?>

Оутпут :

Следећи излаз ће се појавити након покретања скрипте са сервера. Наведена УРЛ адреса у скрипти је важећа. Дакле, излаз приказује вредности подударања $, назив хоста УРЛ -а и назив домена УРЛ -а.

Пример 3: Образац претраживања са вредностима заставице и помака

Следећи пример приказује употребу ознака и вредности помака у функцији прег_матцх (). Направите ПХП датотеку са следећом скриптом.

У сценарију се користе три обрасца за три врсте подударања. У првој функцији прег_матцх (), '/(бангла) (десх)/' се користи као образац и вредност заставице, користи се ПРЕГ_ОФФСЕТ_ЦАПТУРЕ. Вредности $ утакмица променљива ће се штампати на основу резултата прве функције прег_матцх (). У другој функцији прег_матцх (), '/(бангла) (драго)*(десх)/и', користи се као образац и вредност заставице, користи се ПРЕГ_УНМАТЦХЕД_АС_НУЛЛ. Ако се било који део узорка не подудара, вредност НУЛЛ ће бити ускладиштена у низу. Вредности $ утакмица променљива ће се штампати на основу резултата друге функције прег_матцх (). У трећој функцији прег_матцх (), '/глад/' се користи као образац, користи се вредност заставице, ПРЕГ_ОФФСЕТ_ЦАПТУРЕ и 3 се користи као вредност помака. Вредности $ утакмица променљива ће се штампати на основу резултата треће функције прег_матцх ().



// Дефинишите вредност текста

$ тект = „Бангладеш“;

// Дефинишите три типа образаца

$ паттерн1 = ' / (бангла) (десх) / и';

$ паттерн2 = ' / (бангла) (драго) * (десх) / и';

$ паттерн3 = '/драго/';


// Коришћење заставице ПРЕГ_ОФФСЕТ_ЦАПТУРЕ

прег_матцх ($ паттерн1, $ тект, $ утакмица,ПРЕГ_ОФФСЕТ_ЦАПТУРЕ);

Избацио '
';  

print_r ($matches);

echo '

'
;

// Коришћење заставице ПРЕГ_УНМАТЦХЕД_АС_НУЛЛ

прег_матцх ($ паттерн2, $ тект, $ утакмица,ПРЕГ_УНМАТЦХЕД_АС_НУЛЛ);

Избацио '
';  

print_r ($matches);

echo '

'
;

// Коришћење заставице ПРЕГ_ОФФСЕТ_ЦАПТУРЕ и вредности помака

прег_матцх ($ паттерн3, $ тект, $ утакмица,ПРЕГ_ОФФСЕТ_ЦАПТУРЕ, 3);

Избацио '
';  

print_r ($matches);

echo '
'
;

?>

Оутпут :

Следећи излаз ће се појавити након покретања скрипте са сервера.

Закључак

Употреба функције прег_матцх () објашњена је у овом водичу користећи више примера. Овде су такође приказане употребе различитих аргумената ове функције. Читаоци ће моћи да правилно користе ову функцију у свом скрипту након читања овог водича.