⊗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 файлдарын қолданамыз. Деректерді өңдеу Құпиялылық саясаты бойынша жүреді.
барлығын қабылдау баптау қабылдамау