пхп

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

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

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

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

Синтакса:

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

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

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

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

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

// Дефинисати текст
$ тект = "Свиђа ми се ПХП. Свиђа ми се и ЈаваСцрипт.";
// Дефинисати три врсте образаца
$ паттерн1 = '/ Свиђа ми се /';
$ паттерн2 = '/ лике /';
$ паттерн3 = '/ Свиђа ми се / и';
// Дефинисање функције за претрагу узорка у тексту
образац за претрагу узорка ($ образац, $ стринг)

иф (прег_матцх ($ паттерн, $ стринг))
ецхо "Резултат претраге: Пронађено је подударање за образац - $ паттерн
";
иначе
ецхо "Резултат претраге: Није пронађено подударање за образац - $ паттерн
";

// Испис оригиналног текста
ецхо "Оригинални текст је: $ тект
";
// Позовите функцију три пута за три обрасца
образац за претрагу ($ паттерн1, $ тект);
образац за претрагу ($ паттерн2, $ тект);
образац за претрагу ($ паттерн3, $ тект);
?>

Оутпут:

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

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

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

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

// Дефинишите УРЛ
$ урл = "хттпс: // ввв.линукхинт.цом ";
// Дефинишите образац за валидацију УРЛ-а
$ паттерн = '@ ^ (?: хттпс: //)?([^ /] +) @ и ';
// Проверите да ли је УРЛ важећи или не
иф (прег_матцх ($ образац, $ урл, $ подударања1))

// Штампање поруке о успеху
ецхо "УРЛ је важећи.
";
// Штампање низа који садржи вредности подударања
ецхо "Вредности низа су:";
принт_р ($ матцх1);
// Преузимање и испис вредности хоста
$ хост = $ матцх1 [1];
одјек "
Име хоста је: $ хост ";
// Претражујте име домена према вредности хоста
прег_матцх ('/ [^.] + \.[^.] + $ / ', $ хост, $ матцх2);
одјек "
Име домена је: $ матцхес2 [0] ";

иначе

// Штампање поруке о грешци
ецхо "Неважећа УРЛ адреса.";

?>

Оутпут:

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

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

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

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

// Дефинисање вредности текста
$ тект = "Бангладеш";
// Дефинисати три врсте образаца
$ паттерн1 = '/ (бангла) (десх) / и';
$ паттерн2 = '/ (бангла) (драго) * (десх) / и';
$ паттерн3 = '/ драго /';
// Коришћење заставе ПРЕГ_ОФФСЕТ_ЦАПТУРЕ
прег_матцх ($ паттерн1, $ тект, $ матцхес, ПРЕГ_ОФФСЕТ_ЦАПТУРЕ);
одјек "
";
принт_р ($ подударања);
одјек "

";
// Коришћење ознаке ПРЕГ_УНМАТЦХЕД_АС_НУЛЛ
прег_матцх ($ паттерн2, $ тект, $ матцхес, ПРЕГ_УНМАТЦХЕД_АС_НУЛЛ);
одјек "
";
принт_р ($ подударања);
одјек "

";
// Коришћење ознаке ПРЕГ_ОФФСЕТ_ЦАПТУРЕ и померања
прег_матцх ($ паттерн3, $ тект, $ матцхес, ПРЕГ_ОФФСЕТ_ЦАПТУРЕ, 3);
одјек "
";
принт_р ($ подударања);
одјек "
";
?>

Оутпут:

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

Закључак

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

Како приказати бројач ФПС-а у Линук играма
Линук гаминг добио је велики потицај када је Валве најавио Линук подршку за Стеам клијент и њихове игре 2012. године. Од тада су многе ААА и индие игр...
Како преузети и играти Сид Меиер'с Цивилизатион ВИ на Линук-у
Увод у игру Цивилизатион 6 је модерни поглед на класични концепт представљен у серији игара Аге оф Емпирес. Идеја је била прилично једноставна; започе...
Како инсталирати и играти Доом на Линук-у
Увод у Доом Доом серија настала је 90-их година након објављивања оригиналног Доом-а. То је био тренутни хит и од тог времена надаље серија игара је д...