php kullanarak dizenin bir bölümünü karşılaştırmak

3 Cevap php

Ben arama anahtar 'cli' veya 'ent' veya 'cl' kelimesi dizesi 'istemci' ve harf büyüklüğüne duyarsız var olup olmadığını kontrol etmek istiyorum. Ben 'b \ bclient \' desen ile preg_match işlevi kullanılır. ancak doğru sonucu gösterilmiyor. Elde bulunamadı hatası Maç.

Herkes yardımcı olun

Teşekkürler

3 Cevap

Ben ekstra yükü ve düzenli bir string işlevi yeterli olacaktır karmaşıklığı, bunun için normal ifadeler kullanmak olmaz. Yerine neden stripos() ile gitmek değil mi?

$str = 'client';
$terms = array('cli','ent','cl');
foreach($terms as $t) {
    if (stripos($str,$t) !== false) {
        echo "$t exists in $str";
        break;
    }
}

Desen deneyin /cli?|ent/

Açıklama:

cli ilk bölümünü eşleşir. I? arama i isteğe bağlı hale getirir.

| anlamına gelir ya da ve cli eşleşen ya da ent.

\b kelime sınır olduğu, bu cli de maç olmaz client, kaldırmak gerekir \b