⊗ppPmRgVA 258 of 447 menu

PHP Düzenli İfadelerde İleri Bakış

Bazen şu tür bir görevi çözmek gerekir: 'aaa' dizisini bul ve '!' ile değiştir, ancak yalnızca 'aaa' dizisinden sonra 'x' geliyorsa, ve 'x''in kendisi değiştirilmesin. Eğer görevi 'doğrudan' çözmeye çalışırsak, başarılı olamayız:

<?php preg_replace('#aaax#', '!', 'aaax'); // '!' olur, oysa '!x' olmalı ?>

Görevi çözmek için, 'x''in değiştirilmemesi gerektiğini söylemenin bir yolu gerekir. Bu, sadece bakar ama kendisiyle birlikte almaz olan (?= ) özel parantezleri kullanılarak yapılır.

Bu parantezlere pozitif ileri bakış denir. Pozitif - çünkü 'x' (bizim durumumuzda) olmalıdır - ancak o zaman değişiklik gerçekleşir.

Haydi görevimizi çözmek için bu parantezleri kullanalım:

<?php preg_replace('#aaa(?=x)#', '!', 'aaax'); // '!x' döndürür ?>

Ayrıca negatif ileri bakış da vardır - (?! ) - o, tam tersine, bir şeyin olmaması gerektiğini söyler. Aşağıdaki örnekte, değişiklik yalnızca 'aaa' dizisinden sonra 'x' gelmiyorsa gerçekleşir:

<?php preg_replace('#aaa(?!x)#', '!', 'aaab'); // '!b' döndürür ?>

Fonksiyon isimlerini içeren bir dize verilmiştir:

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

Dizeden fonksiyon isimlerinin bir dizisini elde edin.

Bir etiket içeren bir dize verilmiştir:

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

Bu etiketin öznitelik isimlerinin bir dizisini elde edin.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet