⊗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çeOʻzbekTiếng Việt
Биз веб-сайт ишлаши, таҳлил қилиш ва персоналлаштириш учун кукидан фойдаланамиз. Маълумотларни қайта ишлаш Махфийлик сиёсатига мувофиқ амалга оширилади.
ҳаммасини қабул қилиш мослаштириш рад этиш