25 Şubat 2014 Salı

Php ile Özel Karakterleri Düzeltme

Php ile bir yazı içerisinde bulunan özel karakterleri değiştirmek için bir fonksiyon yazalım. Bu fonksiyon parametre olarak yazıyı (text) almakta ve geriye düzeltilmiş yazıyı döndürmektedir.

/*
* @param string $text
*
* @return string $text
*/

public function ozelKarakterleriDuzelt($text) {

/*
* Özel karakterlerin karşılıkları
*
* bir dizide toplanır
*/
    $specialLetters = array(

        'a' => array('á', 'à', 'â', 'ä', 'ã'),

        'A' => array('Ã', 'Ä', 'Â', 'À', 'Á'),

        'e' => array('é', 'è', 'ê', 'ë'),

        'E' => array('Ë', 'É', 'È', 'Ê'),

        'i' => array('í', 'ì', 'î', 'ï', 'ı'),

        'I' => array('Î', 'Í', 'Ì', 'İ', 'Ï'),

        'o' => array('ó', 'ò', 'ô', 'ö', 'õ'),

        'O' => array('Õ', 'Ö', 'Ô', 'Ò', 'Ó'),

        'u' => array('ú', 'ù', 'û', 'ü'),

        'U' => array('Ú', 'Û', 'Ù', 'Ü'),

        'c' => array('ç'),

        'C' => array('Ç'),

        's' => array('ş'),

        'S' => array('Ş'),

        'n' => array('ñ'),

        'N' => array('Ñ'),

        'y' => array('ÿ'),

        'Y' => array('Ÿ'),

        'G' => array('Ğ'),

        'g' => array('ğ')

    );


/*
* İç içe döngü ilse yazı içindeki özel karakterler
*
* karşılıkları ile değiştirilir
*/
    foreach ($specialLetters as $letter => $specials) {

        foreach ($specials as $s) {

            $text = str_replace($s, $letter, $text);

        }

    }

    return $text;

}



Hiç yorum yok :

Yorum Gönder