PHP – Otomatik link fonksiyonu

PHP Script
Php ile bir metin içerisinde geçen url’leri algılayıp otomatik olarak link veren bir fonksiyon. Kendim yazmadım arayıp buldum ve böyle bir fonksiyona ihtiyaç duyan arkadaşlar olabileceğini düşünüp paylaşmak istedim. Umarım işinizi görür.

Fonksiyon içeriği:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function otolink($text) {
    $text = eregi_replace('(((f|ht){1}tp://)[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '<a href="\\1" target="_blank">\\1</a>', $text);
    $text = eregi_replace('([[:space:]()[{}])(www.[-a-zA-Z0-9@:%_\+.~#?&//=]+)', '\\1<a href="http://\\2" target="_blank">\\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);
    $regexp = "<a\s[^>]*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;
}

Fonksiyon kullanımı gayet basit:

1
2
3
 $metin = "Metin dosyanız veya yazı http://www.site.com";
 $metin = otolink($metin);
 echo "$metin";

Facebook Yorumları

4 Yorum

Uyarı: Yorumlarda link kullanmayınız. Link içeren yorumlar otomatik olarak spam kabul edilmektedir.

Bir Cevap Yazın

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