⊗ppPmRgVA 258 of 447 menu

PHP-də requlyar ifadələrdə irəli baxış

Bəzən bu tip məsələni həll etmək lazım gəlir: sətiri 'aaa' tap və onu '!' ilə əvəz et, lakin yalnız 'aaa'-dən sonra 'x' gəlirsə, özü 'x' isə əvəz edilməməlidir. Əgər biz məsələni 'birbaşa' həll etməyə çalışsaq, heç nə alınmayacaq:

<?php preg_replace('#aaax#', '!', 'aaax'); // alınacaq '!', lazımdır '!x' ?>

Məsələni həll etmək üçün, demək lazımdır ki, 'x' əvəz edilməməlidir. Bu, xüsusi mötərizələr (?= ) ilə edilir, onlar yalnız baxır, lakin özləri ilə götürmürlər.

Bu mötərizələr müsbət irəli baxış adlanır. Müsbət - çünki 'x' (bizim vəziyyətimizdə) olmalıdır - yalnız o zaman əvəzetmə baş verəcək.

Gəlin bu mötərizələri bizim məsələni həll etmək üçün tətbiq edək:

<?php preg_replace('#aaa(?=x)#', '!', 'aaax'); // qaytaracaq '!x' ?>

Həm də mənfi irəli baxış var - (?! ) - o, əksinə, deyir ki, nə isə olmamalıdır. Aşağıdakı nümunədə əvəzetmə yalnız 'aaa'-dən sonra 'x' olmadıqda baş verəcək:

<?php preg_replace('#aaa(?!x)#', '!', 'aaab'); // qaytaracaq '!b' ?>

Funksiya adlarını ehtiva edən sətir verilmişdir:

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

Sətirdən funksiya adlarının massivini alın.

Teq ilə sətir verilmişdir:

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

Bu tegin atribut adlarının massivini alın.

Azərbaycan
AfrikaansБългарскиবাংলাБеларускаяČ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
Biz saytin işi, analitika və fərdiləşdirmə üçün cookie istifadə edirik. Məlumatların emalı Məxfilik Siyasəti əsasında həyata keçirilir.
hamısını qəbul et konfiqurasiya et rədd et