PHP: Sık Kullandığım Fonksiyonlar

php fonksiyonları
Her yazılım uzmanının kendine münhasır bir kod arşivi bulunmalıdır. Her yiğidin yoğurt yemesi misali, kod geliştirme mantığı da kendine has olur.

En iyi yazılımcılar, üşengeç ve tembel olanlardır [Philipp Lenssen]

Boşuna dememiş Philipp Lenssen, yazılımcının akıllısı aynı işi iki defa yapmaz. Tekrara düşecekse, fonksiyon yazar, lazım olan yerlerde kullanır.

 

Yazının amacından sapmayalım, uzun senelerdir, geliştirdiğim projelerden bana miras kalan, geniş ve pratik fonksiyonlarla dolu bir kütüphane. Bu kütüphaneden, seçtiğim, hemen hemen her projede kullanmaya devam ettiğim fonksiyonları tanıtıyorum; 

 

1.  Ziyaretçinin Gerçek IP Adresini Alan Fonksiyon – getIP()


function getIP (){
if (!empty($_SERVER['HTTP_CLIENT_IP'])){
$ip=$_SERVER['HTTP_CLIENT_IP'];
}
elseif (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])){
$ip=$_SERVER['HTTP_X_FORWARDED_FOR'];
}
else{
$ip=$_SERVER['REMOTE_ADDR'];
}
return $ip;
}

Kullanımı:

IP Adresiniz:  <?=getIP()?>

 

 

2.  E-mail Doğrulama Fonksiyonu – valid_email()

Ziyaretçilerden aldığınız  e-posta bilgilerini, kaydetmeden önce valid_email fonksiyonu ile elden geçirmek, sizi büyük sıktılardan kurtarır.


function valid_email( $str ){
return ( ! preg_match ( "/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str ) ) ? FALSE : TRUE;
}

Kullanımı:

if(!valid_email($url)) { echo “E-posta Hatalı.”; } else{ echo “E-posta geçerli”;}

 

3-  URL Doğrulama Fonksiyonu – isValidURL()

Ziyaretçilerden aldığınız e-posta bilgilerini, kaydetmeden önce isValidURL fonksiyonu ile doğrulayabilirsiniz.


function isValidURL($url){
return preg_match('|^http(s)?://[a-z0-9-]+(.[a-z0-9-]+)*(:[0-9]+)?(/.*)?$|i', $url);
}

Kullanımı:

if(!isValidURL($url)) { echo “URL  Hatalı.”; } else{ echo “URL  geçerli”;}

 

 4- Yazı içindeki bağlantıları otomatik link yapan fonksiyon  – AutoLink()

 


function AutoLink($text){

$text = html_entity_decode($text);

$text = " ".$text;

$text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&amp;amp;amp;amp;//=]+)','<a href="\\1">\\1</a>', $text);

$text = eregi_replace('(((f|ht){1}tps://)[-a-zA-Z0-9@:%_\+.~#?&amp;amp;amp;amp;//=]+)','<a href="\\1">\\1</a>', $text);

$text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&amp;amp;amp;amp;//=]+)','\\1<a href="http://\\2">\\2</a>', $text);

$text = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})','<a href="mailto:\\1">\\1</a>', $text);

return $text;

}

 

Kullanımı:

$text= “Serpito.com 2008 tarihinde kişisel bir mecra olarak …”;

echo AutoLink($text);

Çıkan sonuç // Serpito.com 2008 tarihinde kişisel bir mecra olarak…

 

5 – SEO link fonksiyonu  – sanitize()


function sanitize($url)
{
$url = trim($url);
$find = array('<b>', '</b>');
$url = str_replace ($find, '', $url);
$url = preg_replace('/<(\/{0,1})img(.*?)(\/{0,1})\>/', 'image', $url);
$find = array(' ', '&amp;amp;amp;quot;', '&amp;amp;amp;amp;', '&amp;amp;amp;amp;', '\r\n', '\n', '/', '\\', '+', '<', '>');
$url = str_replace ($find, '-', $url);
$find = array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ë', 'Ê');
$url = str_replace ($find, 'e', $url);
$find = array('í', 'ý', 'ì', 'î', 'ï', 'I', 'Ý', 'Í', 'Ì', 'Î', 'Ï','İ','ı');
$url = str_replace ($find, 'i', $url);
$find = array('ó', 'ö', 'Ö', 'ò', 'ô', 'Ó', 'Ò', 'Ô');
$url = str_replace ($find, 'o', $url);
$find = array('á', 'ä', 'â', 'à', 'â', 'Ä', 'Â', 'Á', 'À', 'Â');
$url = str_replace ($find, 'a', $url);
$find = array('ú', 'ü', 'Ü', 'ù', 'û', 'Ú', 'Ù', 'Û');
$url = str_replace ($find, 'u', $url);
$find = array('ç', 'Ç');
$url = str_replace ($find, 'c', $url);
$find = array('þ', 'Þ','ş','Ş');
$url = str_replace ($find, 's', $url);
$find = array('ð', 'Ð','ğ','Ğ');
$url = str_replace ($find, 'g', $url);
$find = array('/[^A-Za-z0-9\-<>]/', '/[\-]+/', '/<&#91;^>]*>/');
$repl = array('', '-', '');
$url = preg_replace ($find, $repl, $url);
$url = str_replace ('--', '-', $url);
$url = strtolower($url);
return $url;
}

&amp;amp;amp;nbsp;

Kullanımı:

echo sanitize(“PHP: Sık Kullandığım Fonksiyonlar”);

// php-sik-kullandigim-fonksiyonlar

 

6 – Tarih Formatlama  format_tarih()


function format_tarih($tarih){
$gun=substr($tarih,8,2);
$ay=substr($tarih,5,2);
$yil=substr($tarih,0,4);
return $son_t=$gun.".".$ay.".".$yil;
}

Kullanımı:

echo format_tarih(date(Y-m-d H:i:s));

// 09.11.2012

 

7 – Türkçe ucfirst_tr()


function strtoupper_tr($s){
$tmp = str_replace(
array("a","b","c","ç","d","e","f","g","ğ","h","ı",
"i","j","k","l","m","n","o","ö","p","r","s","ş","t",
"u","ü","v","y","z","q","w","x"),
array("A","B","C","Ç","D","E","F","G","Ğ","H","I",
"İ","J","K","L","M","N","O","Ö","P","R","S","Ş","T",
"U","Ü","V","Y","Z","Q","W","X"),
$s
);
return $tmp;
}
function strtolower_tr($s){
$tmp = str_replace(
array("A","B","C","Ç","D","E","F","G","Ğ","H","I",
"İ","J","K","L","M","N","O","Ö","P","R","S","Ş","T",
"U","Ü","V","Y","Z","Q","W","X"),
array("a","b","c","ç","d","e","f","g","ğ","h","ı",
"i","j","k","l","m","n","o","ö","p","r","s","ş","t",
"u","ü","v","y","z","q","w","x"),
$s
);
return $tmp;
}

&amp;amp;amp;nbsp;

function ucfirst_tr($s){
$don="";
$parcala=explode(" ",$s);
foreach($parcala as $parca){
$don.=strtoupper_tr(substr($parca,0,1)) . strtolower_tr(substr($parca,1))." ";
}

return $don;
}

 

Kullanımı:

echo ucfirst_tr(“ÇANAKKALE İÇİNDE AYNALI ÇARŞI”);

//Çanakkale İçinde Aynalı Çarşı

 

8- SQL Injection koruma fonksiyonu:  cleanInput()


function cleanInput($input) {
$search = array(
'@<script&#91;^>]*?>.*?</script>@si', // Strip out javascript
'@<&#91;\/\!&#93;*?&#91;^<>]*?>@si', // Strip out HTML tags
'@<style&#91;^>]*?>.*?</style>@siU', // Strip style tags properly
'@<!&#91;\s\S&#93;*?--&#91; \t\n\r&#93;*>@' // Strip multi-line comments
);

$output = preg_replace($search, '', $input);
return $output;
}

Kullanımı:

echo cleanInput(“<script>alert(‘asasd’); document.href=’xxxx.com’;</script>”);

//’asasd”xxx.com’

 

9 – Türkçe Tarih Formatlama


function tarih_tr($tarih){
setlocale(LC_ALL, 'tr_TR.UTF-8');

$gun=substr($tarih,8,2);
$ay=substr($tarih,5,2);
$yil=substr($tarih,0,4);

return $turkce_tr= strftime("%e %B %Y\n",mktime(0,0,0,$ay,$gun,$yil));
}

Kullanımı:

echo tarih_tr(date(Y-m-d H:i:s));

// 28 Mart 2013

 

Not: Vakit buldukça , bu fonksiyon arşivini genişleteceğim.

 

12 thoughts on “PHP: Sık Kullandığım Fonksiyonlar

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir