PHP | Jquery | Css | Codeigniter | Unity3D


Otomatik link fonksiyonu nedir derseniz diyelim ki uzun bir metin var elinizde ve içersinde birçok yerde linkler var mesela http://www.gencprogramci.net ama sadece metin olarak girilmiş ve siz bunu html yapmak istiyorsunuz ya da herhangi bir makale yayınlarken yazılı olan linklerin otomatik olarak algılanıp linke çevrilmesini istiyo olabilirsiniz bunun için tek tek kontrol edip a etiketi içersine almak yerine şöyle kullanışlı bir fonksiyonun süzgecinden geçirebilirsiniz. Bu fonksiyon çok kolaylık sağlayacaktır.

<?php

error_reporting(0);

function otolink($text) {
    $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '\\1', $text);
    $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '\\1\\2', $text);
    $text = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})', '\\1', $text);
    $regexp = "]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>"; 
    if(preg_match_all("/$regexp/siU", $text, $matches)) { 
        # $matches[2] = array of link addresses 
       # $matches[3] = array of link text - including HTML code 
       foreach ($matches[3] as $key=>$val) {
            if ($val[50]) {
                $text = str_replace(">" . $val . "<", ">" . substr($val,0,50) . "...<", $text);
            }
        }
    }
    return $text;
}

echo otolink("http://www.gencprogramci.net/sayfalar/php");

?>



Soru ve Tartışma Konularınız için;

Yayınlayan
comments powered by Disqus
Yazar: Windofelm
Description: Elimizdeki bir içerikte bulunan, içinde geçen linkleri nasıl algılarız ve bunları nasıl link haline getirebiliriz ?