lostyazilim
tr.link

PHP Düzenli İfade url

17 Mesajlar 3.289 Okunma
lstbozum
tr.link

cristogi cristogi WM Aracı Kullanıcı
  • Üyelik 13.04.2012
  • Yaş/Cinsiyet 40 / E
  • Meslek Grafik Tasarım
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 237
  • Beğeniler 77 / 43
  • Ticaret 7, (%100)
@alabacaknet ama bir sorun oldu çıktı linki http://abc.com/devamı/konu.html şeklinde yaptığımda link abc.com olarak görünüyor, linkin tamamı gözükmüyor. Tıklayınca doğru sayfaya gidiyor ama görünen kısımda gözükmüyor, onu nasıl yapabiliriz.
 

 

wmaraci
reklam

alabacaknet alabacaknet Developer Kullanıcı
  • Üyelik 14.09.2012
  • Yaş/Cinsiyet 39 / E
  • Meslek Yazılım geliştirme
  • Konum Ankara
  • Ad Soyad M** A**
  • Mesajlar 217
  • Beğeniler 55 / 48
  • Ticaret 0, (%0)

cristogi adlı üyeden alıntı

@alabacaknet ama bir sorun oldu çıktı linki http://abc.com/devamı/konu.html şeklinde yaptığımda link abc.com olarak görünüyor, linkin tamamı gözükmüyor. Tıklayınca doğru sayfaya gidiyor ama görünen kısımda gözükmüyor, onu nasıl yapabiliriz.


ha biraz test edeyim 1 dk, fazla da iyi değilimdir yani bu konularda ama

Ek Olarak: şöyle oluyor:


$metin = "Veritabanından çektiğim düz metnin ve bir link http://abc.com/devami.html ve başka bir link daha http://www.xyz.com ama sadece abc.com ifadesinin geçtiği url'nin linke dönüşmesi gerekiyor";


$istenilen = array("abc.com");

foreach( $istenilen as $link ) {

$regUrl = "/(http|https|ftp|ftps)\:\/\/".preg_quote($link)."(\/\S*)?/i";

if(preg_match($regUrl, $metin, $url)) {
// $url[0] tam linki verdiği için onu kullanabiliriz
$metin = preg_replace($regUrl, "{$url[0]}", $metin);
}

}

echo $metin;
 

 

Murat Alabacak <http://muratalabacak.net>

cristogi cristogi WM Aracı Kullanıcı
  • Üyelik 13.04.2012
  • Yaş/Cinsiyet 40 / E
  • Meslek Grafik Tasarım
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 237
  • Beğeniler 77 / 43
  • Ticaret 7, (%100)
Ellerine sağlık @alabacaknet şimdi harika oldu :) çok teşekkürler ederim.
 

 

alabacaknet alabacaknet Developer Kullanıcı
  • Üyelik 14.09.2012
  • Yaş/Cinsiyet 39 / E
  • Meslek Yazılım geliştirme
  • Konum Ankara
  • Ad Soyad M** A**
  • Mesajlar 217
  • Beğeniler 55 / 48
  • Ticaret 0, (%0)
inşallah başka pürüz yoktur kaçırdığım :D
 

 

Murat Alabacak <http://muratalabacak.net>
wmaraci
wmaraci

cristogi cristogi WM Aracı Kullanıcı
  • Üyelik 13.04.2012
  • Yaş/Cinsiyet 40 / E
  • Meslek Grafik Tasarım
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 237
  • Beğeniler 77 / 43
  • Ticaret 7, (%100)
:D:D aslında var da çok uğraştırdım seni gerçekten. Çok sağol teşekkürler.
 

 

alabacaknet alabacaknet Developer Kullanıcı
  • Üyelik 14.09.2012
  • Yaş/Cinsiyet 39 / E
  • Meslek Yazılım geliştirme
  • Konum Ankara
  • Ad Soyad M** A**
  • Mesajlar 217
  • Beğeniler 55 / 48
  • Ticaret 0, (%0)
önemli değil :D ah biraz daha ilgilensem şu regex ile ama yok arkadaş hiç bir yerde kullanmıyorum bunları ben anca işte bbcode tarzı falan bir şey olursa ama onda da hazır sınıf kullanıyorum
 

 

Murat Alabacak <http://muratalabacak.net>

cristogi cristogi WM Aracı Kullanıcı
  • Üyelik 13.04.2012
  • Yaş/Cinsiyet 40 / E
  • Meslek Grafik Tasarım
  • Konum İstanbul Avrupa
  • Ad Soyad ** **
  • Mesajlar 237
  • Beğeniler 77 / 43
  • Ticaret 7, (%100)
Şu düzenli ifadeler aslında muhteşem bir konu ama dediğin gibi çok kullanılmıyor. Aslında bir çok şeyi kolaylaştırıyor, aramalarda bile kullanıyorlar ama bilmediğimizden like ile yapıp geçiyoruz :)

Ek Olarak: aşağıdaki gibi bir ifadeyle sorunumu çözdüm, umarım ihtiyacı olanlar bulabilir.
preg_replace('@(https?://www.abc([-\w\.]+)+(:\d+)?(/([\w/_\.%-]*(\?\S+)?)?)?)@', '$1', $mesaj);
?>
 

 

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al