Hazır Fonksiyonlar Hakkında

Burada bulunan tüm fonksiyonlar denenmiştir ve çalışmaktadır, yeni fonksiyonlarla karşılaştıkça işe yarar olanları aşağıdan-yukarı sıralamasıyla ekliyorum. Eğer sizinde bildiğiniz ve kullandığınız güzel fonksiyonlarınız var ise yorum kısmında belirtebilirsiniz ve fonksiyonunuza listemizde adınız ile beraber yer verebilirim.

Geçen Süreyi Bulma Fonksiyonu

Bu fonksiyon ile, fonksiyon içine girilen tarihten bu yana geçen süreyi bulabilirsiniz.

<?php

    function gecen_sure($tarih){

        $bugun = date('Y-m-d H:i:s'); // Bugünün tarihi
        $bugun_saniye = strtotime($bugun); // Bugünün tarihi - saniye cinsinden
        $tarihsaniye = strtotime($tarih); // Verilen parametre - saniye cinsinden
        $fark = $bugun_saniye - $tarihsaniye; // Aradaki fark - saniye cinsinden

        if($fark > 0 && $fark < 60){
            $sure = $fark." saniye";
        }else if($fark >= 60 && $fark < 60*60){
            $dakika = floor($fark / 60);
            $sure = $dakika." dakika";
        }else if($fark >= 60*60 && $fark < 60*60*24 ){
            $saat = floor($fark/60/60);
            $sure = $saat." saat";
        }else if($fark >= 60*60*24 && $fark < 60*60*24*7){
            $gun = floor($fark/60/60/24);
            $sure = $gun." gün";
        }else if($fark >= 60*60*24*7 && $fark < 60*60*24*30 ){
            $hafta = floor($fark/60/60/24/7);
            $sure = $hafta." hafta";
        }else if($fark >= 60*60*24*30 && $fark < 60*60*24*30*12 ){
            $ay = floor($fark/60/60/24/30);
            $sure = $ay." ay";
        }else if($fark >= 60*60*24*30*12){
            $yil = floor($fark/60/60/24/30/12);
            $sure = $yil." yıl";
        }else{
            $sure = "Hata";
        }

        return $sure;

    }

    echo gecen_sure('2016-08-30 08:17:10'); //

?>

işaretli olan satırda fonksiyonun kullanımı verilmiştir.

Fonksiyon içerisindeki tarih bu yazıdan 1 ay önceki bir tarih yazıldığı için,

Çıktı: 1 ay

Ancak siz bu kodu tarihi değiştirmeden belki de 3 ay sonra deneyeceksiniz o zaman çıktı 3 ay olacaktır aklınız karışmasın.

Html Kaynak Sıkıştırma Fonksiyonu

Bu fonksiyonu kullanarak sitenizde bulunan tüm html kodları sıkıştırıp tek satır yapabilirsiniz.

<?php
$gzip_pres = true;

    function gzipKontrol(){
        $kontrol = str_replace(" ","",
            strtolower($_SERVER['HTTP_ACCEPT_ENCODING'])
        );
        $kontrol = explode(",", $kontrol);
        return in_array("gzip", $kontrol);
    }

    function bosluksil($kaynak){
        return preg_replace("/\s+/", " ", $kaynak);
    }

    function kaynak_presle($kaynak){
        global $gzip_pres;
        $sayfa_cikti = bosluksil($kaynak);
        if (!gzipKontrol() || headers_sent() || !$gzip_pres) 
            return $sayfa_cikti;
        header("Content-Encoding: gzip");
        return gzencode($sayfa_cikti);
    }  
?>

Yukarıdaki fonksiyonu fonksiyonlarımızın arasına dahil ettikten sonra aşağıdaki gibi sıkıştırmak istediğimiz htm kodlarının bulunduğu dosyada fonksiyonumuzu include etmemiz ve ardından çalıştırmamız yeterli.

<?php include "fonksiyon.php" ?>
<?php ob_start("kaynak_presle"); ?>
<html>
<head>
	<title></title>
</head>
<body>

<p>deneme sıkışacak html dökümü kaynaktan bak</p>

</body>
</html>

Çalışıp çalışmadığını test etmek için kaynağı görüntüleyip kodlara bakmak yeterli tüm kodların tek satır olması gerekiyor.

Html Etiketleri Temizleme Fonksiyonu

Fonksiyon içine alınan yazıda bulunan html etiketleri temizler.

<?php
function HtmlTemizle ($text) {  
        $text = preg_replace("'<script[^>]*>.*?</script>'si", '', $text );  
        $text = preg_replace('/<a\s+.*?href="([^"]+)"[^>]*>([^<]+)<\/a>/is', '\2 (\1)',$text );  
        $text = preg_replace( '/<!--.+?-->/', '', $text );  
        $text = preg_replace( '/{.+?}/', '', $text );  
        $text = preg_replace( '/&nbsp;/', ' ', $text );  
        $text = preg_replace( '/&amp;/', ' ', $text );  
        $text = preg_replace( '/&quot;/', ' ', $text );  
        $text = strip_tags($text);  
        $text = htmlspecialchars($text);  
        return $text;  
}
?>

Örnek Kullanım

<?php
echo HtmlTemizle("<!DOCTYPE html>
<html>
<head>
	<title>deneme</title>
</head>
<body>
	<p> Deneme p tagı içerisi </p>
</body>
</html>")
?>

Çıktı: deneme Deneme p tagı içerisi

Küfür Fitresi Fonksiyonu

Küfürlü yerlerde yıldız(*) veya bizim belirlediğimiz her neyse o çıkar. Aşağıda kullanımı ile beraber verilmiştir.

<?php
function KufurTemizle($yorum){ 
	$gelenkufur = array('salak','aptal','mal'); 
	$degisen = array('***','***','***'); 
	$yenideger = str_replace($gelenkufur,$degisen,$yorum); 
	return $yenideger; 
}
echo KufurTemizle("Sen ne salak ne aptal adammışsın ya mal mal konuşma sus!");
?>

Çıktı: Sen ne *** ne *** adammışsın ya *** *** konuşma sus!

Yazım Yanlışlarını Düzeltme Fonksiyonu

Tamamıyla tüm noktalama ve imla kurallarına uygun bir iş çıkartamasa da bence mükemmel bir fonksiyon bu haliyle bile bir hayli yetenekli.

<?php
function Noktalama($metin) 
{ 
    return stripslashes(preg_replace(array( 
        '~([^\s.,;:!?]{2,})\s+([.,;:!?])~u', 
        '~([^\s.,;:!?]{2,})([.,;:!?]+)([^\s.0-9"\'„”’›»])~u', 
        '~(\s)+[.,;:!?]+\s+~u', 
        '~\.{4,}~u', 
        '~\.{3,}\s*$~u', 
        '~^\s+~um', 
        '~\s+$~um', 
        '~\r+~u', 
        '~\n{2,}~u', 
        '~\s{2,}~u', 
        '~((ht|f)tps?: //|[-a-z0-9]{2,}\. )([-a-z0-9/]{2,}\. )+[-a-z0-9]{2,4}~uie', 
        '~(^|\s)([-a-z0-9]{2,}\. )+(com|de|net|co\.[a-z]{2}|org|info|it|biz|nl|cc|tv|com\.[a-z]{2}|ch|br|dk|us|ca|ws|be|cz|no|at|fr|pl|ru|net\.[a-z]{2})(/[-a-z0-9.]+)*([\s.0-9"\'„”’›»]|$)~uie', 
        '~(^|[^0-9.?!]{2,}[.?!]\s)(["\'“‘‹«]?\s?)([^\s])~ue' 
    ), array( 
        '$1$2', 
        '$1$2 $3', 
        '$1', 
        '...', 
        '.', 
        '', 
        '', 
        "\n", 
        "\n", 
        ' ', 
        'strtr("$0", array(": "=>":", ". "=>"."))', 
        'strtr("$0", array(": "=>":", ". "=>"."))', 
        "'$1$2' . mb_strtoupper('$3')" 
    ), $metin)); 
}
?>

Düzeltebildiği noktalama hataları;

  1. Noktalama işaretlerinin bir önceki kelimeye bitişik yazılmaması.
  2. Noktalama işaretlerinden sonra bir boşluk bırakılmaması.
  3. Üç nokta yerine 4, 5 ya da daha fazla nokta konulması.
  4. Metnin en sonunda üç nokta kullanılması.
  5. Metnin içinde herhangi bir yerde birden fazla boşluk bırakılması.
  6. Paragraflar arası boşluk bırakmak için boş satırlar bırakılması.
  7. Noktadan sonra cümleye küçük harfle başlanması.

Örnek Kullanım

<?php
echo Noktalama("Ben ne diyim sana.Anlamadım ki....Artık     seni anlamıyorum. nasıl bir insansın sen :)")
?>

Çıktı: Ben ne diyim sana.Anlamadım ki….Artık seni anlamıyorum. nasıl bir insansın sen 🙂

Rakamları Yazıyla Yazdırma Fonksiyonu

Başlık gayet açık rakamları yazı ile yazdırıyoruz.

<?php
function yaziylasayi($sayi) { 
    $o = array( 
        'birlik' => array('bir', 'iki', 'üç', 'dört', 'beş', 'altı', 'yedi', 'sekiz', 'dokuz'), 
        'onluk' => array('on', 'yirmi', 'otuz', 'kırk', 'elli', 'altmış', 'yetmiş', 'seksen', 'doksan'), 
        'basamak' => array('yüz', 'bin', 'milyon', 'milyar', 'trilyon', 'katrilyon') 
    ); 

    // Sayıyı basamaklarına ayırıyoruz 
    $basamak = array_reverse(str_split(implode('', array_reverse(str_split($sayi))), 3)); 

    // Basamak sayısını belirliyoruz 
    $basamak_sayisi = count($basamak); 

    // Her basamak için: 
    for ($i=0; $i < $basamak_sayisi; ++$i) 
    { 
        // Sayıyı basamaklarına ayırdığımızda basamaklar tersine döndüğü için burada ufak bir işlem ile basamakları düzeltiyoruz 
        $basamak[$i] = implode(array_reverse(str_split($basamak[$i]))); 
         
        // Eğer basamak 4, 8, 15, 16, 23, 42 gibi 1 veya 2 rakamlıysa başına 3 rakama tamamlayacak şekilde "0" ekliyoruz ki foreach döngüsünde problem olmasın 
        if (strlen($basamak[$i]) == 1) 
            $basamak[$i] = '00' . $basamak[$i]; 
        elseif (strlen($basamak[$i]) == 2) 
            $basamak[$i] = '0' . $basamak[$i]; 
    } 

    $yenisayi = array(); 

    // Her basamak için: ($yenisayi değişkenine) 
    foreach ($basamak as $k => $b) 
    { 
        // basamağın ilk rakamı 0'dan büyük ise 
        if ($b[0] > 0) 
            // değişkene rakamın harfle yazılışı ve "yüz" ekliyoruz 
            $yenisayi[] = ($b[0] > 1 ? $o['birlik'][$b[0]-1] . ' ' : '') . $o['basamak'][0]; 

        // basamağın 2. rakamı 0'dan büyük ise 
        if ($b[1] > 0) 
            // değişkene rakamın harfle yazılışını ekliyoruz 
            $yenisayi[] = $o['onluk'][$b[1]-1]; 

        // basamağın 3. rakamı 0'dan büyük ise 
        if ($b[2] > 0) 
            // değişkene rakamın harfle yazılışını ekliyoruz 
            $yenisayi[] = $o['birlik'][$b[2]-1]; 

        // değişkene basamağın ismini (bin, milyon, milyar) ekliyoruz 
        if ($basamak_sayisi > 1) 
            $yenisayi[] = $o['basamak'][$basamak_sayisi-1]; 

        // Basamak sayısını azaltıyoruz ki her basamağın sonuna ilkinde ne yazıyorsa o yazılmasın 
        --$basamak_sayisi; 
    } 
     
    return implode(' ', $yenisayi); 
}

echo yaziylasayi('14659875468265470');
?>

Çıktı: on dört katrilyon altı yüz elli dokuz trilyon sekiz yüz yetmiş beş milyar dört yüz altmış sekiz milyon iki yüz altmış beş bin dört yüz yetmiş

Seo Uyumlu Link Yapma Fonksiyonu

Öncelikle şunu belirtmeliyim ki sef link yapabilmek için sadece fonksiyon tek başına yetersizdir, bunun için .htaccess dosyasını da uygun bir şekilde yapılandırmalısınız. Konuyla alakası olmadığından bu sayfada yer vermek istemiyorum. Aşağıda görmüş olduğunuz mükemmel fonksiyon Tayfun ERBİLEN‘in sitesinden alınmıştır.

/**
* @param $string
* @return mixed
*/
/**
 * @param $str
 * @param array $options
 * @return string
 */
function permalink($str, $options = array())
{
    $str = mb_convert_encoding((string)$str, 'UTF-8', mb_list_encodings());
    $defaults = array(
        'delimiter' => '-',
        'limit' => null,
        'lowercase' => true,
        'replacements' => array(),
        'transliterate' => true
    );
    $options = array_merge($defaults, $options);
    $char_map = array(
        // Latin
        'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'AE', 'Ç' => 'C',
        'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I',
        'Ð' => 'D', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ő' => 'O',
        'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ű' => 'U', 'Ý' => 'Y', 'Þ' => 'TH',
        'ß' => 'ss',
        'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'ae', 'ç' => 'c',
        'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i',
        'ð' => 'd', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ő' => 'o',
        'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'û' => 'u', 'ü' => 'u', 'ű' => 'u', 'ý' => 'y', 'þ' => 'th',
        'ÿ' => 'y',
        // Latin symbols
        '©' => '(c)',
        // Greek
        'Α' => 'A', 'Β' => 'B', 'Γ' => 'G', 'Δ' => 'D', 'Ε' => 'E', 'Ζ' => 'Z', 'Η' => 'H', 'Θ' => '8',
        'Ι' => 'I', 'Κ' => 'K', 'Λ' => 'L', 'Μ' => 'M', 'Ν' => 'N', 'Ξ' => '3', 'Ο' => 'O', 'Π' => 'P',
        'Ρ' => 'R', 'Σ' => 'S', 'Τ' => 'T', 'Υ' => 'Y', 'Φ' => 'F', 'Χ' => 'X', 'Ψ' => 'PS', 'Ω' => 'W',
        'Ά' => 'A', 'Έ' => 'E', 'Ί' => 'I', 'Ό' => 'O', 'Ύ' => 'Y', 'Ή' => 'H', 'Ώ' => 'W', 'Ϊ' => 'I',
        'Ϋ' => 'Y',
        'α' => 'a', 'β' => 'b', 'γ' => 'g', 'δ' => 'd', 'ε' => 'e', 'ζ' => 'z', 'η' => 'h', 'θ' => '8',
        'ι' => 'i', 'κ' => 'k', 'λ' => 'l', 'μ' => 'm', 'ν' => 'n', 'ξ' => '3', 'ο' => 'o', 'π' => 'p',
        'ρ' => 'r', 'σ' => 's', 'τ' => 't', 'υ' => 'y', 'φ' => 'f', 'χ' => 'x', 'ψ' => 'ps', 'ω' => 'w',
        'ά' => 'a', 'έ' => 'e', 'ί' => 'i', 'ό' => 'o', 'ύ' => 'y', 'ή' => 'h', 'ώ' => 'w', 'ς' => 's',
        'ϊ' => 'i', 'ΰ' => 'y', 'ϋ' => 'y', 'ΐ' => 'i',
        // Turkish
        'Ş' => 'S', 'İ' => 'I', 'Ç' => 'C', 'Ü' => 'U', 'Ö' => 'O', 'Ğ' => 'G',
        'ş' => 's', 'ı' => 'i', 'ç' => 'c', 'ü' => 'u', 'ö' => 'o', 'ğ' => 'g',
        // Russian
        'А' => 'A', 'Б' => 'B', 'В' => 'V', 'Г' => 'G', 'Д' => 'D', 'Е' => 'E', 'Ё' => 'Yo', 'Ж' => 'Zh',
        'З' => 'Z', 'И' => 'I', 'Й' => 'J', 'К' => 'K', 'Л' => 'L', 'М' => 'M', 'Н' => 'N', 'О' => 'O',
        'П' => 'P', 'Р' => 'R', 'С' => 'S', 'Т' => 'T', 'У' => 'U', 'Ф' => 'F', 'Х' => 'H', 'Ц' => 'C',
        'Ч' => 'Ch', 'Ш' => 'Sh', 'Щ' => 'Sh', 'Ъ' => '', 'Ы' => 'Y', 'Ь' => '', 'Э' => 'E', 'Ю' => 'Yu',
        'Я' => 'Ya',
        'а' => 'a', 'б' => 'b', 'в' => 'v', 'г' => 'g', 'д' => 'd', 'е' => 'e', 'ё' => 'yo', 'ж' => 'zh',
        'з' => 'z', 'и' => 'i', 'й' => 'j', 'к' => 'k', 'л' => 'l', 'м' => 'm', 'н' => 'n', 'о' => 'o',
        'п' => 'p', 'р' => 'r', 'с' => 's', 'т' => 't', 'у' => 'u', 'ф' => 'f', 'х' => 'h', 'ц' => 'c',
        'ч' => 'ch', 'ш' => 'sh', 'щ' => 'sh', 'ъ' => '', 'ы' => 'y', 'ь' => '', 'э' => 'e', 'ю' => 'yu',
        'я' => 'ya',
        // Ukrainian
        'Є' => 'Ye', 'І' => 'I', 'Ї' => 'Yi', 'Ґ' => 'G',
        'є' => 'ye', 'і' => 'i', 'ї' => 'yi', 'ґ' => 'g',
        // Czech
        'Č' => 'C', 'Ď' => 'D', 'Ě' => 'E', 'Ň' => 'N', 'Ř' => 'R', 'Š' => 'S', 'Ť' => 'T', 'Ů' => 'U',
        'Ž' => 'Z',
        'č' => 'c', 'ď' => 'd', 'ě' => 'e', 'ň' => 'n', 'ř' => 'r', 'š' => 's', 'ť' => 't', 'ů' => 'u',
        'ž' => 'z',
        // Polish
        'Ą' => 'A', 'Ć' => 'C', 'Ę' => 'e', 'Ł' => 'L', 'Ń' => 'N', 'Ó' => 'o', 'Ś' => 'S', 'Ź' => 'Z',
        'Ż' => 'Z',
        'ą' => 'a', 'ć' => 'c', 'ę' => 'e', 'ł' => 'l', 'ń' => 'n', 'ó' => 'o', 'ś' => 's', 'ź' => 'z',
        'ż' => 'z',
        // Latvian
        'Ā' => 'A', 'Č' => 'C', 'Ē' => 'E', 'Ģ' => 'G', 'Ī' => 'i', 'Ķ' => 'k', 'Ļ' => 'L', 'Ņ' => 'N',
        'Š' => 'S', 'Ū' => 'u', 'Ž' => 'Z',
        'ā' => 'a', 'č' => 'c', 'ē' => 'e', 'ģ' => 'g', 'ī' => 'i', 'ķ' => 'k', 'ļ' => 'l', 'ņ' => 'n',
        'š' => 's', 'ū' => 'u', 'ž' => 'z'
    );
    $str = preg_replace(array_keys($options['replacements']), $options['replacements'], $str);
    if ($options['transliterate']) {
        $str = str_replace(array_keys($char_map), $char_map, $str);
    }
    $str = preg_replace('/[^\p{L}\p{Nd}]+/u', $options['delimiter'], $str);
    $str = preg_replace('/(' . preg_quote($options['delimiter'], '/') . '){2,}/', '$1', $str);
    $str = mb_substr($str, 0, ($options['limit'] ? $options['limit'] : mb_strlen($str, 'UTF-8')), 'UTF-8');
    $str = trim($str, $options['delimiter']);
    return $options['lowercase'] ? mb_strtolower($str, 'UTF-8') : $str;
}

// Kullanımı
$deger = "Bu Türkçe Bir Yazıdır";
echo permalink($deger);

$deger = "Συχνές Ερωτήσεις";
echo permalink($deger);

 

Site Durumu Fonksiyonu

Herhangi bir sitenin açık olup olmama durumunu gösterir. Fonksiyonun sonunda kullanımı verilmiştir.

<?php
  function Link_Kontrol($link) {
    $main = array();
    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_URL, $link);
    curl_setopt ($ch, CURLOPT_PROTOCOLS, $link);
    curl_setopt ($ch, CURLOPT_HEADER, 1);
    curl_setopt ($ch, CURLOPT_NOBODY, 1);
    curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt ($ch, CURLOPT_NETRC, 1);
    curl_setopt ($ch, CURLOPT_TIMEOUT, 10);
    ob_start();
    curl_exec ($ch);
    $stuff = ob_get_contents();
    ob_end_clean();
    curl_close ($ch);
    $parts = split("\n",$stuff,2);
    $main = split(" ",$parts[0],3);

    if(@$don =  ($main[2])){echo 'açık';}else{echo 'kapali';}  
  }

//örnek kullanım
Link_Kontrol("https://okandiyebiri.com");
?>

Çıktı: açık

Not: Bu fonksiyonu localhost üzerinde xampp ile denediğimde yanıtın tam tersini veriyor.

Smiley(İfade) Fonksiyonu

Bu fonksiyon ile wordpresste olduğu gibi “:” ve “()” gibi karakterler kullanılarak oluşturulan smileyleri sizde oluşturabilirsiniz.

Örnek fonksiyon sonunda verilmiştir.

<?php
function ifadeBırak ($text){
   $emoticons = array(
	"<3"  => "<img src='ifade/kalp.png'>",
	"/kalp"  => "<img src='ifade/kalp.png'>",
	"/kırıkkalp"  => "<img src='ifade/kirik-kalp.png'>",
	":D"  => "<img src='ifade/sirit.png'>",
	":)"  => "<img src='ifade/gulumse.png'>",
	":-)"  => "<img src='ifade/gulumse.png'>",
	"(:"  => "<img src='ifade/gulumse.png'>",
	":("  => "<img src='ifade/uzul.png'>",
	"/utandım"  => "<img src='ifade/utandim.png'>",
	"/alkış"  => "<img src='ifade/aferin.png'>",
	"/görmedim"  => "<img src='ifade/gormedim.png'>",
	"/duymadım"  => "<img src='ifade/duymadim.png'>",
	"/bilmiyorum"  => "<img src='ifade/bilmiyorum.png'>",
	"/alkış"  => "<img src='ifade/aferin.png'>",
);
   return str_replace(
	array_keys($emoticons),
	$emoticons,
	$text);
}

$ornekyazi = "Lorem ipsum dolor :) sit amet, consectetur (: adipisicing :D elit, sed do eiusmod
tempor incididunt ut labore et /kalp dolore magna aliqua. Ut enim ad minim veniam,
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
consequat. /kırıkkalp Duis aute /utandım irure dolor in reprehenderit in voluptate velit esse
cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non
proident, sunt in culpa qui officia /alkış deserunt mollit anim id est /görmedim /duymadım /bilmiyorum laborum.";

echo ifadeBırak($ornekyazi);
?>

Çıktı:

smiley-fonksiyonu

Bu kodların çalışabilmesi için ifade adlı bir klasör ve içerisinde de smileylerin png formatında bulunması gerekir.

Dilerseniz çalışmayı github üzerinden de indirebilirsiniz.

İlk Harf Büyük Sonrakiler Küçük Fonksiyonu

Fonksiyon, istenilen metnin ilk harflerinin tamamını büyük sonrakileri ise küçük harfe dönüştürür. Türkçe karakterleri de desteklediğinden oldukça kullanışlıdır.

<?php
function basharfbuyuk($gelen){
 
  $sonuc='';
  $kelimeler=explode(" ", $gelen);
 
  foreach ($kelimeler as $kelime_duz){
 
    $kelime_uzunluk=strlen($kelime_duz);
    $ilk_karakter=mb_substr($kelime_duz,0,1,'UTF-8');
 
    if($ilk_karakter=='Ç' or $ilk_karakter=='ç'){
      $ilk_karakter='Ç';
    }elseif ($ilk_karakter=='Ğ' or $ilk_karakter=='ğ') {
      $ilk_karakter='Ğ';
    }elseif($ilk_karakter=='I' or $ilk_karakter=='ı'){
      $ilk_karakter='I';
    }elseif ($ilk_karakter=='İ' or $ilk_karakter=='i'){
      $ilk_karakter='İ';
    }elseif ($ilk_karakter=='Ö' or $ilk_karakter=='ö'){
      $ilk_karakter='Ö';
    }elseif ($ilk_karakter=='Ş' or $ilk_karakter=='ş'){
      $ilk_karakter='Ş';
    }elseif ($ilk_karakter=='Ü' or $ilk_karakter=='ü'){
      $ilk_karakter='Ü';
    }else{
      $ilk_karakter=strtoupper($ilk_karakter);
    }
 
    $digerleri=mb_substr($kelime_duz,1,$kelime_uzunluk,'UTF-8');
    $sonuc.=$ilk_karakter.kucuk_yap($digerleri).' ';
 
  }
 
  $son=trim(str_replace('  ', ' ', $sonuc));
  return $son;
 
}
 
function kucuk_yap($gelen){
 
  $gelen=str_replace('Ç', 'ç', $gelen);
  $gelen=str_replace('Ğ', 'ğ', $gelen);
  $gelen=str_replace('I', 'ı', $gelen);
  $gelen=str_replace('İ', 'i', $gelen);
  $gelen=str_replace('Ö', 'ö', $gelen);
  $gelen=str_replace('Ş', 'ş', $gelen);
  $gelen=str_replace('Ü', 'ü', $gelen);
  $gelen=strtolower($gelen);
 
  return $gelen;
}
 
echo basharfbuyuk('oKAN IŞIK deneme yAZI BAŞlığı');
?>

Çıktı: Okan Işık Deneme Yazı Başlığı

Tüm Harfleri Büyük Yapma Fonksiyonu

Cümlede bulunan tüm küçük harfleri büyük yapmak için kullanabilirsiniz. Türkçe karakterleri destekler.

<?php
function tr_strtoupper($text){
    $search=array("ç","i","ı","ğ","ö","ş","ü");
    $replace=array("Ç","İ","I","Ğ","Ö","Ş","Ü");
    $text=str_replace($search,$replace,$text);
    $text=strtoupper($text);
    return $text;
}

echo tr_strtoupper('Bu fonksiyon cümlede bulunan tüm küçük harfleri büyük yapar.');
?>

Çıktı: BU FONKSİYON CÜMLEDE BULUNAN TÜM KÜÇÜK HARFLERİ BÜYÜK YAPAR.

Tüm Harfleri Küçük Yapma Fonksiyonu

Bir yukarıda bulunan fonksiyonun aksine büyük -küçük harf farketmeksizin tüm harfleri küçük olarak dönüştürür. Bu tarz işlemleri css ile de yapabileceğinizi söyleyelim. Bu fonksiyon da Türkçe karakterleri desteklemektedir. Kullanımı işaretli satır içerisinde gösterilmiştir.

<?php
function tr_strtolower($text)
{
    $search=array("Ç","İ","I","Ğ","Ö","Ş","Ü");
    $replace=array("ç","i","ı","ğ","ö","ş","ü");
    $text=str_replace($search,$replace,$text);
    $text=strtolower($text);
    return $text;
}
 
echo tr_strtolower('Okan IŞIK bu Fonksiyonu kafasına göre DeNeDi.');

?>

Çıktı: okan ışık bu fonksiyonu kafasına göre denedi.

Türkçe Tarih Fonksiyonu

Tarih çıktılarını Türkçe olarak kullanmanıza yarayan fonksiyondur. Kullanım işaretli satırda verilmiştir.

<?php
function TurkceTarih($zaman) { 
	$gunler = array("Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"); 
	$aylar =array(NULL, "Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"); 
	$tarih = date("d",$zaman)." ".$aylar[date("n",$zaman)]." ".date("Y",$zaman)." ".$gunler[date("w",$zaman)]; 
	return $tarih; 
}

echo TurkceTarih(time());  
?>

Çıktı: 09 Kasım 2016 Çarşamba

Fonksiyonun yazıldığı tarihi vermiştir. (Bugünün tarihi)

X Saat Önce Yazıldı Fonksiyonu

Blog scriptlerimizde yazılan makalelerimizin ne kadar zaman önce yazıldığına dair bilgi vermek için kullanabileceğimiz güzel bir fonksiyon.

<?php 
function nezaman($session_time) { 

    $time_difference = time() - $session_time ; 

    $seconds    = $time_difference ; 
    // Seconds 
    if($seconds <= 60) { 
        return "$seconds saniye önce"; 
    } 

    $minutes    = round($time_difference / 60 ); 
    //Minutes 
    if($minutes <= 60) { 
        if($minutes == 1) { 
            return "Bir dakika önce"; 
        } else { 
            return "$minutes dakika önce"; 
        } 
    } 
    
    $hours      = round($time_difference / 3600 ); 
    //Hours 
    if($hours <= 24) { 
        if($hours == 1) { 
            return "Bir saat önce"; 
        } else { 
            return "$hours saat önce"; 
        } 
    } 
    
    $days      = round($time_difference / 86400 ); 
    //Days 
    if($days <= 7) { 
        if($days == 1) { 
            return "Bir gün önce"; 
        } else { 
            return "$days gün önce"; 
        } 
    } 
    
    $weeks      = round($time_difference / 604800 ); 
    //Weeks 
    if($weeks <= 4) { 
        if($weeks == 1) { 
            return "Bir hafta önce"; 
        }else{ 
            return "$weeks hafta önce"; 
        } 
    } 
    
    $months    = round($time_difference / 2419200 ); 
    //Months 
    if($months <= 12) { 
        if($months==1) { 
            return "Bir ay önce"; 
        } else { 
            return "$months ay önce"; 
        } 
    } 
    
    $years      = round($time_difference / 29030400 ); 
    //Years 
    if($years==1) { 
        return "Bir yıl önce"; 
    } else { 
        return "$years yıl önce"; 
    } 

} 
//Kullanım
echo nezaman("1264326122"); 
?>

Çıktı: 7 yıl önce

Sayfa Yönlendirme Fonksiyonu

Herhangi bir işlemin sonunda, hızlıca yazıp yönlendirme işlemi sağlayabileceğiniz sevdiğim ve sıkça kullandığım bir fonksiyondur kendileri, kullanım kod içerisinde verilmiştir.

<?php
function Yonlendir($url,$zaman = 0){
	if($zaman != 0){
	header("Refresh: $zaman; url=$url");
	}
	else header("Location: $url");
}

// Kullanımı
echo "5 saniye sonra bu sayfa yönlendirme fonksiyonu sayesinde yönlenecek";
echo Yonlendir("https://okandiyebiri.com",5);
?>

Çıktı: 5 saniye sonra bu sayfa yönlendirme fonksiyonu sayesinde yönlenecek

(5 sn. sonra okandiyebiri.com anasayfasına yönlenir…)

İki Tarih Arasındaki Zaman Farkı Fonksiyonu

İlk tarih ile belirlenen son tarih arasındakigün sayısını verir.

<?php
function fark_bul ($tarih1,$tarih2) {

  if (!preg_match("@\.@",$tarih1) || !preg_match("@\.@",$tarih2)) exit('Standart Format: 01.01.1970');

  list($gun1,$ay1,$yil1) = explode('.',$tarih1);
  list($gun2,$ay2,$yil2) = explode('.',$tarih2);

  $tarih1_timestamp = mktime('0','0','0',$ay1,$gun1,$yil1);
  $tarih2_timestamp = mktime('0','0','0',$ay2,$gun2,$yil2);

  if ($tarih1_timestamp > $tarih2_timestamp){
    $fark = ($tarih1_timestamp - $tarih2_timestamp) / 86400;
  }

  if ($tarih2_timestamp > $tarih1_timestamp){
    $fark = ($tarih2_timestamp - $tarih1_timestamp) / 86400;
  }

  return $fark;
  }

  //KULLANIM
  $f = fark_bul('01.01.2017','01.02.2017');
  echo $f;
?>
Linkleri Nofollow Yapma Fonksiyonu

İçerikte bulunan tüm linklere nofollow etiketi ekler.

<?php
function NoFollow($icerik) {
	preg_match_all("/<a.*? href=\"(.*?)\".*?>(.*?)<\/a>/i", $icerik, $matches);
	for($i=0;$i<count($matches[0]);$i++){
		if(!preg_match("/rel=[\"\']*nofollow[\"\']*/",$matches[0][$i])){
			preg_match_all("/<a.*? href=\"(.*?)\"(.*?)>(.*?)<\/a>/i", $matches[0][$i], $matches1);
			$icerik = str_replace(">".$matches1[3][0]."</a>"," rel=\"nofollow\">".$matches1[3][0]."</a>",$icerik);
		}
	}
	return $icerik;
}

//Kullanım
$icerik = '<a href="https://okandiyebiri.com">Siteme</a>a git';
echo NoFollow($icerik);

//Çıktı
// <a href="https://okandiyebiri.com" rel="nofollow">Siteme</a>a git
?>
Linkleri Nofollow Yapma Fonksiyonu
<?php
function nofollow($message){
$search = '<a';
$replace = '<a rel="nofollow"';
$message = str_replace($search , $replace , $message);
return $message;
}
?>

Yazıda bulunan tüm linklere nofollow tagı ekler.