⊗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हिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어LietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Биз сайттин иштөөсү, аналитика жана персонализация үчүн cookie файлдарын колдонобуз. Маалыматтарды иштетүү Маалыматты коргоо саясаты боюнча жүргүзүлөт.
баарын кабыл алуу ыңгайлаштыруу четке кагуу