php: sıyırma istenmeyen karakterler

2 Cevap

Nasıl ya hala html biçimlendirme koruyarak ingilizce-sadece zorlamak veya HTML onları zorlayabilir ... Ben zengin html metin dizesi HTML varlıkları kullanıyorum ama  gibi bazı karakterler hala üzerinden geliyor?

2 Cevap

I phpbuilder Kodun aşağıdaki parça makul görünüyor düşünüyorum. Bu regex kullanarak geçersiz karakterler için bazı girdi ($ string) denetler.

if(preg_match("@[^a-zA-Z0-9\~`\!\@#$%\^&\*\(\)_\-\+\=\{\}\[\]\'\"\:\;\?\/\>\<\.\,\|]*@", $string) {
    // There are non-english characters....
} else {
    // There are no non-english characters
}

İyi şanslar.

Böyle bir şey deneyin:

    $arr_busca = array('á','à','â','ã','ª','Á','À', 
    'Â','Ã', 'é','è','ê','É','È','Ê','í','ì','î','Í', 
    'Ì','Î','ò','ó','ô', 'õ','º','Ó','Ò','Ô','Õ','ú', 
    'ù','û','Ú','Ù','Û','ç','Ç','Ñ','ñ'); 
    $arr_susti = array('a','a','a','a','a','A','A', 
    'A','A','e','e','e','E','E','E','i','i','i','I','I', 
    'I','o','o','o','o','o','O','O','O','O','u','u','u', 
    'U','U','U','c','C','N','n'); 
    $nom_archivo = trim(str_replace($arr_busca, $arr_susti, $nom_archivo)); 
    return $nom_archivo;

Ben değişkenler İspanyolca neden olan php.net str_replace page, doğrudan aldım ...

Açıklamalarda belirtildiği gibi, bu kontrol etmek için bir karakter eksik liste, ama bu onları kontrol etmek ve değiştirmek için nasıl bir fikir. Bir kitaplık için arama isteyebilirsiniz.