Қызықты

PHP-де Preg-ге кіріспе

PHP-де Preg-ге кіріспе

01 сағат 05

Preg_Grep PHP функциясы

PHP функциясы, preg_grep, белгілі бір үлгіні іздеу үшін, содан кейін сол сүзгіге негізделген жаңа жиымды қайтару үшін қолданылады. Нәтижелерді қайтарудың екі әдісі бар. Сіз оларды сол қалпында қайтара аласыз немесе оларды өзгерте аласыз (тек сәйкес келетін нәрсені қайтарудың орнына, ол сәйкес келмейтінді ғана қайтарады). Ол келесідей: preg_grep (іздеу_атөрнегі, $ сіздің массивіңіз, қосымша_күн). Search_pattern тұрақты өрнек болуы керек. Егер сіз олармен таныс болмасаңыз, онда бұл мақала синтаксиске шолу жасайды.

Бұл код келесі деректерге әкеледі:
Массив (4 => 4 5 => 5)
Массив (3 => үш 6 => алты 9 => тоғыз)

Біріншіден, біз $ деректер айнымалысын тағайындаймыз. Бұл сандардың тізімі, кейбіреуі альфа түрінде, басқалары сандық түрде. Біз іске қосатын бірінші нәрсе $ mod1 деп аталады. Мұнда біз 4, 5 немесе 6-дан тұратын кез келген нәрсені іздейміз, егер нәтиже төменде басылса, біз тек 4 пен 5-ті аламыз, өйткені 6 «алты» деп жазылды, сондықтан ол біздің іздеуімізге сәйкес келмеді.

Әрі қарай, $ mod2 іске қосамыз, ол сандық белгілері бар кез келген нәрсені іздейді. Бірақ бұл жолы біз қосамыз PREG_GREP_INVERT. Бұл біздің деректерді өзгертіп жібереді, сондықтан сандарды шығарудың орнына сандық емес (үш, алты және тоғыз) барлық жазбаларымызды шығарады.

05 сағат 05

Preg_Match PHP функциясы

The Preg_Match PHP функциясы жолды іздеуде және 1 немесе 0 мәнін қайтару үшін қолданылады. Егер іздеу сәтті болса, 1 қайтарылады, ал егер ол табылмаса 0 қайтарылады. Басқа айнымалыларды қосуға болатынына қарамастан, ол көбінесе келесідей тіркеседі: preg_match (іздеу_атөрнек, сіздің_қолдану). Search_pattern тұрақты өрнек болуы керек.

Жоғарыдағы код кілт сөзді (алдымен шырынды, содан кейін жұмыртқаны) және оның шын (1) немесе жалған (0) екендігіне негізделген жауаптарды тексеру үшін preg_match қолданады. Бұл екі мәнді қайтаратындықтан, ол көбінесе шартты түрде қолданылады.

03 сағат 05

Preg_Match_All PHP функциясы

Preg_Match_All белгілі бір үлгілерге арналған жолды іздеу үшін қолданылады және нәтижелерді массивте сақтайды. Айырмашылығы preg_match сәйкестік тапқаннан кейін іздеуді тоқтатады, preg_match_all бүкіл жолды іздейді және барлық сәйкестіктерді жазады. Ол келесідей: preg_match_all (үлгі, жол, $ массив, міндетті емес_орнату, міндетті емес_орытынды).

Бірінші мысалда біз PREG_PATTERN_ORDER қолданамыз. Біз 2 нәрсені іздейміз; біреуі - уақыт, екіншісі - am / pm тегі. Біздің нәтижелеріміз $ сәйкестікке шығарылады, мысалы, $ match0 барлық сәйкестіктерді қамтитын массив, $ match1 бірінші ішкі іздеу нәтижелеріне сәйкес келетін барлық деректерді қамтиды және $ match2 екінші ішкі іздеу нәтижелеріне сәйкес келетін барлық мәліметтерді қамтиды (am / pm). .

Екінші мысалда біз PREG_SET_ORDER қолданамыз. Бұл әрбір толық нәтижені массивке шығарады. Бірінші нәтиже - $ match0, $ match00 толық матч, $ match01 бірінші қосымша матч және $ match02 екінші қосымша матч.

05 сағат 05

Preg_Replace PHP функциясы

The preg_replace функциясы жолда немесе массивте табу және ауыстыру үшін қолданылады. Біз оны табу және ауыстыру үшін бір нәрсені бере аламыз (мысалы, «ол» деген сөзді тауып, оны «оған» өзгертеді) немесе біз әрқайсысы іздейтін заттардың толық тізімін (массивті) бере аламыз. тиісті ауыстыру. Ол сөз тіркесі preg_replace (іздеу_оқу, ауыстыру_көрсету, сіздің_көрсетіліміңіз, міндетті емес_сабақ, қосымша_ақтау) Лимит 1-ге тең болады, бұл ешқандай шектеу емес. Есіңізде болсын, сіздің_data жол немесе жиым бола алады.

Бірінші мысалда, біз жай «'» сөзін «а» сөзімен алмастырамыз. Көріп отырғаныңыздай, бұлар ара-тұра. Содан кейін біз массив құрдық, сондықтан екінші мысалда біз '' 'және' мысық 'сөздерін де алмастырамыз. Үшінші мысалда біз шекті 1-ге қойдық, сондықтан әр сөз тек бір рет ауыстырылады. Соңында, біздің 4-мысалда біз қанша ауыстыруды жасағандығымызды есепке аламыз.

05 сағат 05

Preg_Split PHP функциясы

Функциясы Preg_Spilit жолды алып, оны массивке қою үшін қолданылады. Жол сіз енгізген мәліметтер негізінде массивтің әртүрлі мәндеріне бөлінеді. Ол сөз тіркесі preg_split (split_pattern, your_data, optional_limit, optional_flags)

Жоғарыдағы кодта біз үш бөлінуді орындаймыз. Біріншіден, біз деректерді әр таңба бойынша бөлдік. Екіншісінде біз оны бос орынмен бөлдік, осылайша әр сөзге (және әр әріпке емес) массив жазбасы беріледі. Үшінші мысалда біз '' 'сөзін қолданамыз. мәліметтерді бөлу кезеңі, сондықтан әр сөйлемге өзінің массивтік жазбасы беріледі.

Себебі соңғы мысалда біз '' 'сөзін қолданамыз. бөліну кезеңі, соңғы кезеңнен кейін жаңа жазба басталады, сондықтан біз жалаушаны қосамыз PREG_SPLIT_NO_EMPTY бос нәтижелер қайтарылмайтындай етіп. Басқа қол жетімді жалаулар бар PREG_SPLIT_DELIM_CAPTURE, ол сіз бөліп отырған кейіпкерді (мысалы, біздің «.») және PREG_SPLIT_OFFSET_CAPTURE, ол бөлу орын алған таңбалардағы орнын толтырады.

Split_pattern тұрақты өрнек болуы керек және егер ешкім көрсетілмесе, -1 (немесе шектеу жоқ) әдепкі болатынын ұмытпаңыз.