Fonksiyon etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
Fonksiyon etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster

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;

}



18 Şubat 2014 Salı

Php ile Sayı Basamaklarını Formatlı Şekilde Gösterme

Php ile bir sayıyı binler, milyonlar, milyarlar basamakları formatlı bir şekilde göstermek için bir fonksiyon yazalım. Yazacağımız bu fonksiyon, 1209045678 sayısını 1.209.045.678 şeklinde basamakları formatlanmış olarak geriye döndürecektir.

/*
* @param int $number
* @return string
*/
public function basamakFormatla($number) {

    $format = '';

    $i = 0;

    while ($number > 0) {

        $first = $number % 1000;

        $number = ($number - $first) / 1000;

        if ($i == 0) {

            if ($first < 10) {

                $format = '00' . $first;

            } else if ($first < 100) {

                $format = '0' . $first;

            } else {

                $format = $first;

            }

        } else {

            $format = $first . '.' . $format;

        }

        $i++;

    }

    return $format;

}

/*
* Sayımız 45069702 için fonksiyonu
* aşağıdaki gibi çağırıp sonucu
* ekranda görebiliriz
*/

echo basamakFormatla(45069702);

// Sonuç aşağıdaki gibi olacaktır

45.069.702

//


10 Şubat 2014 Pazartesi

PHP ile Bir Yazıdaki Kelimeleri Hashtag'lemek

Php'de bir fonksiiyon ile bir yazıda geçen tüm kelimeleri hashtagli olarak geri döndürebiliriz. Bunun için öncelikle yazıda geçen tüm noktalama işaretlerini ve yazının başında, sonunda bulunan boşlukları temizlemek ve yazı içindeki boşlukları teke indirmek gerekir. Bunun için öncelikle bir fonksiyon yazalım.
function noktalamaTemizle($text) {

    $search = array("'", ".", ",", ";", "!", "?", ":", "(", ")", "[", "]", "{", "}");

    $text = str_replace($search, "", $text);

    return $text;
}

Yazıda geçen tüm boşlukları tek boşluğa çeviren fonksiyonu yazalım.
/*
*
* @param string $text
*
* @return string
*
*/
function boslukTemizle($text) {

    $text = trim($text);

    $text = str_replace("  ", " ", $text);

    return $text;
}

Şimdi yazıda geçen tüm kelimeleri hashtagli olarak geri döndüren fonksiyonu yazalım.

/*
*
* @param string $text
*
* @return string
*
*/
function hashtagle($text) {

    $text = "#" . $text;

    $text = str_replace(" ", " #", $text);

    return $text;
}

Yazdığımız bu fonksiyonu aşağıdaki gibi çağırabiliriz.
$text = "Bugün, güzel bir gün değil mi?";

$hashText = hashtagle(boslukTemizle(noktalamaTemizle($text)));

echo $hashText;

//Çıktı aşağıdaki gibi olacaktır

// #Bugün #güzel #bir #gün #değil #mi