Arama butonu
Bu konudaki kullanıcılar: 1 misafir
1
Cevap
365
Tıklama
0
Öne Çıkarma
PHP Otolink fonksiyonu
M
8 yıl
Çavuş
Konu Sahibi

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);

}

?>

DH forumlarında vakit geçirmekten keyif alıyor gibisin ancak giriş yapmadığını görüyoruz.

Üye olduğunda özel mesaj gönderebilir, beğendiğin konuları favorilerine ekleyip takibe alabilir ve daha önce gezdiğin konulara hızlıca erişebilirsin.

Üye Ol Şimdi Değil



M
8 yıl
Çavuş
Konu Sahibi

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 >

DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.