پیدا کردن URL در متن و ساخت خودکار لینک

آوریل 9, 2012 توسط : سعید

با استفاده از کد زیر میتونید آدرس های اینترنتی رو در متن پیدا کنید و به لینک تبدیل کنید.دقت کنید که آدرس باید به صورت استاندارد نوشته شده باشه تا قابل تشخیص باشه بعنی باید با http , https , ftp , ftps شروع شده باشه.

<?php
// The Regular Expression filter
$reg_exUrl = "/(http|https|ftp|ftps)://[a-zA-Z0-9-.]+.[a-zA-Z]{2,3}(/S*)?/";

// The Text you want to filter for urls
$text = "The text you want to filter goes here. http://google.com ";

// Check if there is a url in the text
if(preg_match($reg_exUrl, $text, $url)) {

       // make the urls hyper links
       echo preg_replace($reg_exUrl, '<a href="'.$url[0].'" rel="nofollow">'.$url[0].'</a>', $text);

} else {

       // if no urls in the text just return the text
       echo $text;

}
?>

ابتدا با استفاده از تابع preg_match تمامی URL های متن رو تشخیص دادیم سپس با استفاده از تابع preg_replace تگ a رو ایجاد کردیم.

wandad
آوریل 16, 2012 @ 1:13 ق.ظ

سلام سعید جان,خط ششم که باید یو آر ال گوگل توش باشه رفته پایین, لطفا درستش کنین.یکم گیج کنندست تو نگاه اول.

پاسخ
    سعید
    آوریل 16, 2012 @ 1:34 ق.ظ

    سلام.مرسی از توجهت.هر کار کردم درست نشد.اما اگه میخوای از کد استفاده کنی رو ایکن بالای کدها کلیک کنی کد رو کامل بدون اشکال نمایش میده

    پاسخ
      سعید
      آوریل 16, 2012 @ 1:40 ق.ظ

      درستش کردم 🙂

      پاسخ
        wandad
        آوریل 16, 2012 @ 3:29 ب.ظ

        مرسی.

        پاسخ
      محمد
      جولای 21, 2012 @ 1:54 ب.ظ

      دوست من اگه منم بخوام این ایکن ها را برای بعضی از قسمتها بزارم باید چه کار کنم. کد مربوطش را کدوم قسمت گذاشتی؟

      پاسخ
        سعید
        جولای 22, 2012 @ 11:12 ق.ظ

        متوجه منظورت نشدم کدوم آیکن هارو میگی؟

        پاسخ
          محمد
          جولای 22, 2012 @ 4:35 ب.ظ

          وقتی روی کد ها می رم سمت راست برام 4 تا آیکن میاره آن ها را میگم.

          سعید
          جولای 22, 2012 @ 6:22 ب.ظ

          برای اینکه اون آیکن ها نمایش داده بشه باید از ورژن 2 syntaxhighlighter استفاده کنی.

ژانویه 10, 2013 @ 1:15 ب.ظ

ساییتون عالیه

پاسخ

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *


*