yav kaç gündür deniyorum ama beceremedim. url'leri link'e dönüştürme fonksiyonlarını kullandığımda her seferinde div içindeki yazıları, div dışına atıyor.

istiyorum ki; #yazilar isimli bir div var diyelim.
bu div'in içindeki yazılarda eğer url varsa bunları link'e çevirsin (sadece url kısımlarını) istiyorum. jquery gibi bir sistemle yapmak lazım sanırım ama jquery ile bir türlü yapamadım.

php iel yaptıklarım ise, dediğim gibi her yazıyı div dışına fırlattı ki nedenini hala anlayabilmiş değilim.

 

örnek metni ve div i paylaşır mısınız?

cirkinkizyokturazvotkavardir

<div id='sol'>
<li class='ana'>
<ul>
<li><a href='uye-{$kadiSef}'><b>{$uye}</b></a> - <img src='tema/standart/css/resim/time.png' style='float:none; margin-right:5px;'/>{$time} </li>
<li><font>{$icerik}</font></li>
</ul>
</li>
</div>

biraz karmaşık oldu farkındayım.

ama #sol isimli div'in içine while döngüsü ile veritabanından bastırıyorum içerikleri. yani şuan tek bir yazı var ama normalde elbette birden çok olacak.

sol'un içine, her bir veri için bir adet <li class='ana'> ve içindeki veriler bastırılıyor öyle söyleyeyim.

tchuck

stackoverflow.com

şurda en üstteki iki çözümü bir dene ikincisi galiba ihtiyacın olan.

{$icerik} i yazdırırken o fonksiyonu uygulayarak yazdır. "makeClickableLinks($icerik)" şeklinde.

yuto

eregi_replace() is deprecated in

gibi bir hata veriyor ikincisi. birinciyi de deneyeyim.

edit: birinci de herhangi bir sonuç çıkarmadı, hiçbir şey yapmamışım gib iyani.

tchuck

linkleri sadece "http: //li" şekilde girince linke dönüştürüyor ilki. ikincisi ise php'nin eski versiyonları içinmiş.

şu bende çalışıyor:

function ReplaceURL($text)
{
return preg_replace("/(^|\W)(http:\/\/[\w\.\-\?\/\=\&]+)/siu","$1<a href=\"$2\" target=\"_blank\">" . (strlen('$2') > 18 ? substr('$2', 0, 15).'...' : '$2') . "</a>", $text);
}

yuto

aynen kanka bu çalıştı. oh beaaa

tchuck

peki bunun otomatik http eklemeli versionu var mı bildiğin?

tchuck

şu adreste şöyle bişey buldum ama denemedim:
css-tricks.com


function txt2link($text){
// force http: on www.
$text = ereg_replace( "www\.", "www.", $text );
// eliminate duplicates after force
$text = ereg_replace( "http://www\.", "www.", $text );
$text = ereg_replace( "http://www\.", "www.", $text );

// The Regular Expression filter
$reg_exUrl = "/(http|https|ftp|ftps)\:\/\/[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,3}(\/\S*)?/";
// Check if there is a url in the text
if(preg_match($reg_exUrl, $text, $url)) {
// make the urls hyper links
$text = preg_replace($reg_exUrl, '<a href="'.$url[0].'" rel="nofollow">'.$url[0].'</a>', $text);
} // if no urls in the text just return the text
return ($text);
}

yuto
1

mobil görünümden çık