Kodları lütfen aşağıdaki butonları kullanarak renklendirin. Örnek: <php> echo "Selam Dünya"; </php>
Yardım
karakter kaldı

Regular expression ile karakter ve rakam hariç herşeyi silmek

Selam...

Temizlemem gereken bir string var, bu string içerisinde rakam ve harflerden başka birşey olmasını istemiyorum o yüzden şöyle bir regexp yazdım:

$string = 'aaa`bbb!!';
$string = preg_replace("#[^a-zA-z0-9]*#", "", $string);
echo $string;
die;


Bunun "aaabbb" döndürmesi gerekmez mi, aaa`bbb döndürüyor?
+0
-0
Cevaba KatılıyorumKatılmıyorum
Cevap Yaz Yorum Yaz Arşivime Ekle Takip Et

Doğru Cevap

  • 1
    mark-byers adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    1 cevap - 0 soru
    İkinci z büyük olacak...
    Şöyle yani:

    preg_replace("#[^a-zA-Z0-9]*#", "", $string);
    


    A-z yazarsan bu şu demek: A (ASCII değeri 65) ile z (ASCII değeri 122) arasında kalan tüm karakterler. ` işaretinin ASCII kodu 96 olduğu için o da dahil olur otomatikman.

    Ek bilgi: * yerine + kullanmak isteyebilirsin, böylece tekrar eden boşluk karakterleri de gider...
    • jason-mccreary adlı üyenin fotoğrafı jason-mccreary
      Helal olsun diyorum nası gördün z'yi yaa :)
      13 yıl önce yazılmış
    • eugene adlı üyenin fotoğrafı eugene
      of ya nefret ediyorum şu harf hatalarından... sağol...
      13 yıl önce yazılmış

Cevaplar

  • 2
    jason-mccreary adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    1 cevap - 0 soru
    Sanırım *'a gerek yok. Ayrıca W kullanarak kodu basitleştirebilirsin:

    $string = preg_replace("/[\W]/", "", $string);
    


    Ek olarak ctype_alnum diye bi fonk. var, regex'ten daha hızlı çalışır...
    • DarkElder adlı üyenin fotoğrafı DarkElder
      w tanımlaması ilave olarak _ karakterini de içermektedir. Dolayısıyla tam olarak istediği değeri döndürmez.

      $string = "AZ_09";
      echo preg_replace( "/[\W]/", "", $string );
      
      13 yıl önce yazılmış
  • fka adlı üyenin fotoğrafı
    13 yıl önce yazılmış
    70 cevap - 0 soru
    preg_replace("#[^a-zA-Z0-9]*#ui","",$string);
    


    şeklinde kullanırsan sanırım sorunun "ui" u=unicode i=incasesensitive olarak tanımlarsan sorun bundan kaynaklanıyor olabilir.