⊗ppPmRgVA 258 of 447 menu

PHP-ում ռեգուլյար արտահայտությունների դիմացի դիտում

Երբեմն անհրաժեշտ է լինում լուծել այսպիսի առաջադրանք. գտնել 'aaa' տողը և փոխարինել այն '!'-ով, բայց միայն այն դեպքում, եթե 'aaa'-ից հետո կա 'x', իսկ ինքը՝ 'x'-ը, այդ դեպքում չփոխարինել: Եթե փորձենք առաջադրանքը լուծել 'ուղիղ', ապա մեզնից ոչինչ չի ստացվի.

<?php preg_replace('#aaax#', '!', 'aaax'); // կլինի '!', իսկ պետք է '!x' ?>

Առաջադրանքը լուծելու համար անհրաժեշտ է եղանակ ասելու, որ 'x'-ը չպետք է փոխարինել: Դա արվում է հատուկ փակագծերի օգնությամբ (?= ), որոնք պարզապես նայում են, բայց իրենց հետ չեն վերցնում:

Այս փակագծերը կոչվում են դրական դիմացի դիտում: Դրական - քանի որ 'x'-ը (մեր դեպքում) պետք է լինի - միայն այդ ժամանակ կկատարվի փոխարինումը:

Եկեք կիրառենք այս փակագծերը մեր առաջադրանքը լուծելու համար.

<?php preg_replace('#aaa(?=x)#', '!', 'aaax'); // կվերադարձնի '!x' ?>

Կա նաև բացասական դիմացի դիտում - (?! ) - այն, ընդհակառակը, ասում է, որ ինչ-որ բան չպետք է լինի: Հաջորդ օրինակում փոխարինումը կկատարվի, միայն եթե 'aaa'-ից հետո չկա 'x'.

<?php preg_replace('#aaa(?!x)#', '!', 'aaab'); // կվերադարձնի '!b' ?>

Տրված է տող, որը պարունակում է ֆունկցիաների անուններ.

<?php $str = 'func1() func2() func3()'; ?>

Ստացեք ֆունկցիաների անունների զանգված տողից:

Տրված է տող թեգով.

<?php $str = '<a href="" class="eee" id="zzz">'; ?>

Ստացեք այս թեգի ատրիբուտների անունների զանգված:

Հայերեն
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Մենք օգտագործում ենք cookie-ներ կայքի աշխատանքի, վերլուծության և անհատականացման համար։ Տվյալների մշակումը կատարվում է համաձայն Գաղտնիության քաղաքականության։
ընդունել բոլորը կարգավորել մերժել