Nasıl boşlukla ne tür bir dize olduğunu söyleyebilir?

3 Cevap php

Ben bir 10 year old website Frontpage (başlangıçta) ve Dreamweaver (son zamanlarda) kullanarak ASP inşa edildiği bazı bilgiler kazıma duyuyorum. Ben PHP kullanıyorum.

Ben boşluk değil boşluk ile dizeleri geri alıyorum. PHP Trim fonksiyonunu kullanarak, beyaz alan bazı kaldırıldı ancak tüm edilir.

original string: string(47) "  School Calendar"
trimmed string: string(34) " School Calendar"

Nasıl boşlukları anlamaya yüzden ben bunları kaldırabilirim?

Benim sayfa gösteren orijinal ve kesilmiş dizeleri var_dumps olan here.

3 Cevap

Bu sen ki, (sizin sayfada kaynağını görüntülemek varsa) gibi görünüyor dize PHP'nin trim fonksiyonu tarafından kesilmiş olan değil   "boşluk" vardır.

En iyi seçenek, süs için str_replace önce arayarak, önceden bu değiştirmek için muhtemelen:

$stringToTrim = str_replace(" "," ", $original);

$trimmed = trim($stringToTrim);

(O   doğru işleme değil çünkü standart kod biçimlendirme kullanarak değil)

echo ord($trimmed_string) Bu örnekte, boşluk ve karakter kodu ne olduğunu size söyleyecektir. (Bu ilk karakterin karakter kodu verir.)

Unicode has a plenty of "different" spaces: http://en.wikipedia.org/wiki/Space%5F%28punctuation%29#Table%5Fof%5Fspaces

http://www.brunildo.org/test/space-chars.html

Trim hepsini bilmiyor. Eğer gerekiyorsa hepsini kurtulmak için regex kullanmalısınız.