Nasıl php'' e değiştiririm?

5 Cevap php
str_replace('Ê','',$line);

Çalışmıyor. Olduğunu gösterir bazı özel dize var mı?

5 Cevap

Eğer işlemek istediğiniz dize kodlama dikkate almak gerekir. Bu dosya ile aynı karakter kodlaması ile kodlanmış değil Eğer isimli, hem kodlamaları arasında dönüştürmek için gereken yukarıda bu dizeyi açıkladı.

En yaygın hata veri veya dosya ya ISO 8859-1 UTF-8 ve diğer kodlanmış olmasıdır.

Bunu biliyor eğer net değil, ama str_replace "yerinde" çalışmıyor, yeni bir dize döndürür, bu yüzden belki de gerçekten tüm gerekli

$line=str_replace('Ê','',$line);

E ve sirkumfleks Aksan - Başka bir olasılık aslında iki Unicode karakter bir Unicode birleştirme Aksan, bakıyor olmasıdır.

Preg_replace kullanmayı deneyin:

$line = preg_replace('/Ê/ui', '', $line);

Ben Çokbaytlı karakter olduğunu düşünüyorum, bu yüzden denemek mb functions

Ben ilk UTF-8 hat dönüştürmek zorunda kaldı.

mb_convert_encoding($line, "UTF-8")

Yani ben ile sona kodu:

$line = str_replace('Ê','', mb_convert_encoding($line, "UTF-8"));

Sadece bir yorum kadar yerine "çözüm" almak için kendi sorusunu yanıtladı. Teşekkürler Gumbo.