İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

php'de linkleri tıklanabilir yapma gibi bir şey

smd

0
İyinet Üyesi
Katılım
23 Kasım 2010
Mesajlar
63
Reaction score
1
özellikle kullanıcıların mesaj atabildiği tip sitelerde mesaj kutularına koydukları linkleri tıklanabilir yapmak çok önemli biliyorsunuz. otomatik olarak http:// yi ya da www'yu bulup boşluğa kadar takip etme özelliği.

elimde şöyle bir kod var;
Kod:
function clickable($url){
	$sonuc = str_replace("\n", " \n", $url);
	$sonuc = str_replace("<br />", " <br />", $sonuc);
$sonuc = str_replace("<br>", " <br>", $sonuc);
    $in=array(
    '`((?:https?|ftp)://\S+[[:alnum:]]/?)`si',
    '`((?<!//)(www\.\S+[[:alnum:]]/?))`si'
    );
    $out=array(
    '<font class="link"><a href="$1" target="_blank"  rel=nofollow>$1</a></font> ',
    '<font class="link"><a href="http://$1" target="_blank" rel=\'nofollow\'>$1</a></font>'
    );
    $sonuc = preg_replace($in,$out,$sonuc);
	return $sonuc;
}

tıklanabilir şekilde yazdırma için de; echo clickable($mesaj);

şimdi bu kod benim için çok karışık. bu gayet güzel linkleri tıklanabilir yapıyor. ama benim bunu kendi ihtiyacıma göre düzenlemem lazım. ama bu replace'leri bir türlü çözemedim. ihtiyacım olan şu, imageboard'da takılan varsa bilir; alıntıları >> şeklinde belirtirler. eğer >>'dan sonra bir numara dizisi geliyorsa örneğin mesaj.php?id=numaradizisi'ne gitmeli. eğer yazı geliyor ise bir font class'a atanmalı. olabildiğince açık anlatmaya çalıştım. yani bu kodu bana >>156'yı bulup mesaj.php?id=156'ya, >>deneme9 u bulup hiç bir şey yapmayacak şekilde düzenleyecek bir üstad var mı? şimdiden çok teşekkürler
 

konumuzseo

0
İyinet Üyesi
Katılım
1 Kasım 2011
Mesajlar
34
Reaction score
0
Konum
İstanbul
En sade olarak;

PHP:
$gelen_veri = "bla bla bla http://www.siteadresi.com bla bla bla";
$gelen_veri = ereg_replace("[[:alpha:]]+://[^<>[:space:]]+[[:alnum:]/]", "<a href=\"\\0\" target=\"_blank\">\\0</a>", $gelen_veri);
echo $gelen_veri;
gibi kullanabilirsiniz.

Ekleme: Sanırım istediğiniz tam olarak bu değil ama :)
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Üst