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" rel="noopener noreferrer">\\1</a>', $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})', '<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";

İlginizi Çekebilecek Diğer İçerikler

4 Yorum

  1. kemal dedi ki:

    merhaba bu kodları tam olarak nereye ekleyeceğiz bunun hakkında bilgi vermemişsiniz.

  2. cem dedi ki:

    eyv. kodlar çok iyi çalışyor.

  3. ayvalik haberleri dedi ki:

    Çok güzel bir kod işime yarada teşekkürler.artık haber metinlerini linklendirebilicem :D

  4. Windofelm dedi ki:

    On numara beş yıldız !

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