Youtube flv çeken, TTnet dns sorunu çıkmaması için, ip şeklinde link veren fonksiyonum;

function youtubeFlv($url)
{
    for ($i = 69; $i <= 76; $i++) {
        $ytipx[] = '208.117.236.' . $i;
    }
    $ytip = $ytipx[array_rand($ytipx)];
    if (preg_match('@v=@', $url)) {
        $urly = parse_url($url);
        parse_str($urly['query'], $urlx);
        $id = $urlx['v'];
    } else {
        $id = $url;
    }
    $s = 'http://' . $ytip . '/watch?v=' . $id;
    $sayfa = file_get_contents($s);
    preg_match('^\'SWF_ARGS\': {(.*?)},^', $sayfa, $ciktix);
    preg_match('^"fmt_url_map": "(.*?)"^', $ciktix[1], $cikti);
    
    if (preg_match_all('^http://v[0-9]+.lscache[0-9]+.[a-zA-Z0-9]+.youtube.com/videoplayback\?.*?,([0-9]+)^', urldecode($cikti[1]), $vid)) {
        $xy = $vid[0][array_search('5', $vid[1])];
        if (!$xy) $xy = $vid[0][array_search('35', $vid[1])];
        if (!$xy) $xy = $vid[0][array_search('34', $vid[1])];
        $flv  = preg_replace('@,[0-9]+@', '', $vid[0][array_search('5', $vid[1])]);
    } else {
        $flv  = preg_replace(array('@[0-9]+\|@', '@,[0-9]+@'), '', urldecode($cikti[1]));
    }
    preg_match('@http://(.*?)/@', $flv, $srv);
    $flvx = str_replace($srv[1], gethostbyname($srv[1]), $flv);
    return $flvx;
}
kullanım 1;
echo youtubeFlv('GxUOZhnqA04');
kullanım 2;
echo youtubeFlv('http://www.youtube.com/watch?v=GxUOZhnqA04');
çıktı;
http://74.125.97.92/videoplayback?ip=0.0.0.0&sparams=id%2Cexpire%2Cip%2Cipbits%2Citag%2Calgorithm%2Cburst%2Cfactor&fexp=900073%2C905207&algorithm=throttle-factor&itag=34&ipbits=0&burst=40&sver=3&expire=1264010400&key=yt1&signature=AF1220D1FE732B45C83E42A4D67CFE1BEC9CA38A.B4C915A19B2BCFCC451F1F49FAABB17498443277&factor=1.25&id=1b150e6619ea034e
==================================================

Türkçe karakter destekli ucwords fonksiyonum, ayrıca parantez içindeki kelimelerinde baş harflerini büyütür.

function uc_words($gelen)
{
    $kc = str_split('abcçdefghıijklmnoöpqrsştuüvwxyz');
    $by = str_split('ABCÇDEFGHIİJKLMNOÖPQRSŞTUÜVWXYZ');
    $kelime = preg_split('^\s+^si', $gelen);
    foreach ($kelime as $k) {
        $ilk = substr($k, 0, 1);
        if ($ilk == '(' || $ilk == '[' || $ilk == '{') {
            $kx = substr($k, 1, strlen($k));
            $veri[] = substr($k, 0, 1)
                    . str_replace($kc, $by, substr($kx, 0, 1))
                    . substr($kx, 1, strlen($kx));
        } else {
            $veri[] = str_replace($kc, $by, $ilk) 
                    . substr($k, 1, strlen($k));
        }
        unset($ilk, $verix);
    }
    return join(' ', $veri);
}
kullanım;

echo uc_words('bir şarkısın sen ömür boyu sürecek');
Çıktı;
Bir Şarkısın Sen Ömür Boyu Sürecek
==================================================

Türkçe karakter destekli, strtolower yerine kullanabileceğiniz yazı küçültme fonksiyonum.

function kucult($x)
{
     return strtolower(strtr($x, 'IİÇŞÜÖĞ', 'ıiçşüöğ'));
}
kullanım;
kucult('BİŞEYLER');
çıktı;
bişeyler
==================================================

Türkçe karakter destekli, strtoupper yerine kullanabileceğiniz yazı büyütme fonksiyonum.

function buyut($x)
{
    return strtoupper(strtr($x, 'ıiçşüöğ', 'IİÇŞÜÖĞ'));
}
kullanım;
buyut('bişeyler');
çıktı;
BİŞEYLER
==================================================

Linkleri seo için permalink yapan fonksiyonum;
function seo_link($gelen) 
{
    return preg_replace('@\-+@', '-', 
           preg_replace('@[^a-zA-Z0-9]@', '-', 
           strtr(kucult($gelen),'çöğıüş', 'cogius')));
}
kullanım;
echo seo_link('HSBC Portföy');
cikti;
hsbc-portfoy
==================================================

Kullanıcının browserini almaya yarayan fonksiyon;

function browser_al($useragent = '')
{
    if ($useragent == '') 
    { 
        $useragent = $_SERVER['HTTP_USER_AGENT']; 
    }
    $browser_name = '';
    $browsers = array();
    
    $browsers[] = array('name' => 'AmigaVoyager', 'useragent' => 'AmigaVoyager');
    $browsers[] = array('name' => 'Apple Generic', 'useragent' => 'CFNetwork');                
    $browsers[] = array('name' => 'Camino', 'useragent' => 'Camino');
    $browsers[] = array('name' => 'Ensemble2', 'useragent' => 'Ensemble2');
    $browsers[] = array('name' => 'Epiphany', 'useragent' => 'Epiphany');
    $browsers[] = array('name' => 'firefox', 'useragent' => 'Firefox');  
    $browsers[] = array('name' => 'firefox', 'useragent' => 'Firefox/1.0');
    $browsers[] = array('name' => 'firefox', 'useragent' => 'Firefox/1.5');
    $browsers[] = array('name' => 'firefox', 'useragent' => 'BonEcho');
    $browsers[] = array('name' => 'firefox', 'useragent' => 'Firefox/2');
    $browsers[] = array('name' => 'firefox', 'useragent' => 'Firefox/3');
    $browsers[] = array('name' => 'firefox', 'useragent' => 'GranParadiso');
    $browsers[] = array('name' => 'firefox', 'useragent' => 'Phoenix');
    $browsers[] = array('name' => 'firefox', 'useragent' => 'Firebird');
    $browsers[] = array('name' => 'Galeon', 'useragent' => 'Galeon');
    $browsers[] = array('name' => 'Google Chrome', 'useragent' => 'chrome');
    $browsers[] = array('name' => 'iCab', 'useragent' => 'iCab');
    $browsers[] = array('name' => 'Iceweasel', 'useragent' => 'Iceweasel');
    $browsers[] = array('name' => 'ie', 'useragent' => 'MSIE');  
    $browsers[] = array('name' => 'ie', 'useragent' => 'MSIE5.');
    $browsers[] = array('name' => 'ie', 'useragent' => 'MSIE6.');
    $browsers[] = array('name' => 'ie', 'useragent' => 'MSIE7.');
    $browsers[] = array('name' => 'ie', 'useragent' => 'MSIE8.');
    $browsers[] = array('name' => 'K-Meleon', 'useragent' => 'K-Meleon');
    $browsers[] = array('name' => 'Konqueror', 'useragent' => 'Konqueror');
    $browsers[] = array('name' => 'Lynx', 'useragent' => 'Lynx');
    $browsers[] = array('name' => 'Mozilla Minefield', 'useragent' => 'Minefield');
    $browsers[] = array('name' => 'Netscape', 'useragent' => 'Netscape');
    $browsers[] = array('name' => 'NewsCopier', 'useragent' => 'NewsCopier');
    $browsers[] = array('name' => 'opera', 'useragent' => 'Opera');
    $browsers[] = array('name' => 'Pocket Internet Explorer', 'useragent' => 'MicrosoftPocketInternetExplorer');
    $browsers[] = array('name' => 'Pocket Internet Explorer', 'useragent' => 'MSPIE');
    $browsers[] = array('name' => 'Radianrss', 'useragent' => 'radianrss');
    $browsers[] = array('name' => 'RssReader', 'useragent' => 'rssreader.com');
    $browsers[] = array('name' => 'Safari', 'useragent' => 'AppleSyndication');
    $browsers[] = array('name' => 'Safari', 'useragent' => 'Safari');
    $browsers[] = array('name' => 'SeaMonkey', 'useragent' => 'SeaMonkey');
    $browsers[] = array('name' => 'Swiftweasel', 'useragent' => 'Swiftweasel');
    $browsers[] = array('name' => 'Thunderbird', 'useragent' => 'Thunderbird');
    $browsers[] = array('name' => 'Vienna', 'useragent' => 'Vienna');
    
    foreach ($browsers as $browser)
    {
        if (stripos(strtolower($useragent), strtolower($browser['useragent'])) !== FALSE)
        {
            $browser_name = $browser['name'];
        }
    }
    unset($browsers, $browser, $useragent);
    
    if ($browser_name)
    {
        return $browser_name;
    }
    else
    {
        return false;
    }  
}
==================================================

Javascript kullanarak x sürede yönlendirme yapan fonksiyonum;

function git($url, $sure = 0)
{
    if ($sure == 0)
        echo '<script>window.location.href = "' . $url . '";</script>';
    else
        echo '<script>setTimeout(\'window.location.href = "' . $url . '";\', ' . ($sure * 1000) . ');</script>';
}
kullanım;
git('index.php', 3); // 3 saniye
==================================================

x karakterden sonra metini kesen akıllı word wrap fonksiyonum;

function akilli_wordwrap($gelen)
{
    $exp = explode(" ", $gelen);

    foreach ($exp as $e)
    {
        if (strlen($e) > 50)
        {
            $str .= chunk_split($e, 35, " ");
        }
        else
        {
            $str .= $e . " ";
        }
    }
    return $str;
}
kullanım;
echo wordwrap('bilgilendiremediklerimizdenmisinizcesineymişmiş', 20);
çıktı;
bilgilendiremedikler imizdenmisinizcesine ymişmiş
==================================================

Gönderilen maillerde türkçe karakter sorunu yaratmayan UTF8 mail sınıfım;

class UTF8_Mail 
{
    var $gonderen = '';
    
    public function gonder($kimden, $kime, $konu, $mesaj)
    {
        if ($this->gonderen != '') {
            $kime = $this->gonderen;
        }
        if (utf8mail($kimden, $kime, iconv('latin5', 'utf-8', $konu), iconv('latin5', 'utf-8', $mesaj))) {
            return true;
        }
        return false;
    }
    private function utf8mail($kimden, $kime, $konu, $mesaj) 
    {
        $kimden2 = explode("<", $kimden);
        if (isset($kimden2[0])) {
            $ust = "From: =?UTF-8?B?".base64_encode($kimden2[0])."?= <".$kimden2[1]."\r\n";
        } else {
            $ust = "From: ".$kimden[1]."\r\n";
        }
        $konu ="=?UTF-8?B?".base64_encode($konu)."?=\n";
        $ust .= "Content-Type: text/html; charset=UTF-8; format=flowed \n".
                    "MIME-Version: 1.0 \n" . 
                    "Content-Transfer-Encoding: 8bit \n". 
                    "X-Mailer: PHP \n";
        return mail($kime, $konu, $mesaj, $ust);
    }
}
kullanım;
$gonderen = 'devturkeli@gmail.com';
$alici = 'devturkeli@php.net';
$konu = 'utf8 mail test';
$mesaj = 'kendi kendine mail yollayan adam';

$mail = new UTF8_Mail;
$mail->gonder($gonderen, $alici, $konu, $mesaj);
==================================================

Email geçerliliğini kontrol etme fonksiyonum;

function mail_kontrol($email)
{
    if (preg_match('^[A-Za-z0-9\._-]+[@][A-Za-z0-9\._-]+[\.].[A-Za-z0-9]+^', trim($email))) {
        return TRUE;
    }
    return FALSE;
}
kullanım;
if (mail_kontrol('deneme@deneme.com')) {
    echo 'Email adresi geçerli';
} else {
    echo 'Email adresi geçersiz';
}
==================================================

Dosya uzantısı alma fonksiyonum;

function uzanti($x)
{
    $i = pathinfo($x);
    return $i['extension'];
}
kullanım;
echo uzanti('asd.hede.xxx.jpg');
çıktı;
jpg
==================================================

3-4 yıl önce bir projem için yazdığım Navigatör link oluşturucu, array olarak girilen parametrelere göre navigasyon linkleri oluşturur.

function navigator_link($parametreler, $stil)
{
    // div-border:1px solid gray||a-border:1px solid gray
    if ($stil <> NULL)
    {
        $stil_exp = explode("||", $stil);
        if (is_array($stil_exp))
        {
            $tag_stil_1 = explode("#", $stil_exp[0]);
            $tag_stil_2 = explode("#", $stil_exp[1]);
            $tag1_stil = $tag_stil_1[1];
            $tag2_stil = $tag_stil_2[1];
        }
    }
    
    if (is_array($parametreler))
    {
        foreach ($parametreler as $param_key => $param_val)
        {
            $navigator .= '<' . $param_key . ' style="' . $tag1_stil . '">';
            if (is_array($parametreler[$param_key]))
            {
                foreach ($parametreler[$param_key] as $_param_key => $_param_val)
                {
                    if (is_array($parametreler[$param_key][$_param_key]))
                    {
                        if ($_param_key == "a")
                        {
                            foreach ($parametreler[$param_key][$_param_key] as $pkey => $pval) // a çıkar
                            {
                                if (is_array($parametreler[$param_key][$_param_key][$pkey]))
                                {
                                    foreach ($parametreler[$param_key][$_param_key][$pkey] as $p_val)
                                    {
                                        $z = @array_keys($parametreler[$param_key][$_param_key]);
                                        $navigator .= '<' . $_param_key . ' style="' . $tag2_stil . '" href="' . $p_val . '">' . $z[0] . '</' . $_param_key . '>';
                                    }
                                }
                                else
                                {
                                    $navigator .= '<' . $_param_key . ' style="' . $tag2_stil . '">' . $pval . '</' . $_param_key . '>';
                                }
                            }
                        }
                        else 
                        {
                            if ($_param_key == "span")
                            {
                                if (is_array($parametreler[$param_key][$_param_key][$pkey]))
                                {
                                    foreach ($parametreler[$param_key][$_param_key][$pkey] as $p_val)
                                    {
                                        $z = @array_keys($parametreler[$param_key][$_param_key]);
                                        $navigator .= "<span style='{$tag2_stil}' onclick=\"location.href='" . $p_val . "';\">" . $z[0] . "</a>";
                                    }
                                }
                                else
                                {
                                    $navigator .= '<' . $_param_key . ' style="' . $tag2_stil . '">' . $pval . '</' . $_param_key . '>';
                                }
                            }
                        }
                    }
                }
            }
            $navigator .= '</' . $param_key . '>';
        }
    }
    else
    {
        return FALSE;
    }
    return $navigator;
}
kullanım;
$parametreler = array(
    'div' => array
             (
                'a' => array
                       (
                           'index' => array('index.php')
                       ), 
                's' => array
                       (
                           'index' => "yazi"
                       )
             )
 );