لدي موقع تبادل خبرات
ويقوم الاعضاء بكتابة روابط في التعليقات
قمت بالبحث عند دالة لتقوم بالبحث داخل النص عن الروابط وتقوم بتفعيلها
ووجد تلك الدالة في احد المواقع وتعمل بشكل جيد
كود PHP:
<?
function txt2link($text){
// force http: on www.
$text = ereg_replace( "www\.", "http://www.", $text );
// eliminate duplicates after force
$text = ereg_replace( "http://http://www\.", "http://www.", $text );
$text = ereg_replace( "https://http://www\.", "https://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" target="_blank" title="اضغط هنا لزيارة الرابط"><img src="../images/link_go.png" align="absmiddle"/></a>', $text);
} // if no urls in the text just return the text
return ($text);
}
?>
المشكلة عن اضافة اكثر من رابط في النص يتم تحويل قيمة الروابط الي نفس قيمة الرابط الاول فقط