Şimdi Ara

PHP Otolink fonksiyonu

Bu Konudaki Kullanıcılar:
1 Misafir - 1 Masaüstü
5 sn
3
Cevap
0
Favori
313
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Bir ziyaretçi defteri için kulandığım bu fonksiyonda veritabanından çekilen mesajdaki URL'leri algılayıp html link olarak çıktı veriyor.

    Örneğin "https://example.com" şeklindeki mesajı "<a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=130576092&url=https://example.com" data-href="https://example.com">example.com</a>" olarak çıkartıyor. Gayet de güzel çalışıyor ama ufak bir sorunu var.

    http, https, ftp, ftps ile başlayan linklerde sorun yok amawww.example.com yazınca bunu biraz bozuyor.

    "<a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=130576092&url=www.example.com" data-href="www.example.com">example.com</a>" şeklinde linkin href kısmına kendi kendine http:// eklemiyor. Bunu nasıl düzeltebilirim acaba?


    quote:


    <?php

    function otolink($text) {

    return preg_replace('@(http)?(s)?(://)?(www\.)?(([-\w]+\.)+([^\s]+)+[^,.\s])@', '<a data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=130576092&url=$1$2$3$4$5" data-href="$1$2$3$4$5">$5</a>', $text);

    }

    ?>



  • Deneme, bakalım donanımhaber'de nasıl çalışıyor.
    www.example.com
    http://example.com
    https://www.example.com
    http://example.com/index.php?id=1&ref=1
    http://example.co$m
    https://example.com<br />
    ftp://example.com/index.php
    http://example.info
    http://example.co

    Edit: Mükemmel çalıştı. Yöneticiler bana buranın kodunu versin derdim de burası asp ile kodlanmış :(

    Ayrıca $ işaretinden sonrasını yok sayıyor bendeki kod. Ona da bir çözüm bulmak lazım.



    < Bu mesaj bu kişi tarafından değiştirildi Mehmet0173 -- 27 Aralık 2017; 1:7:58 >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.