• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
آموزش کار با preg_replace
#1
به نام خدا
با عرض سلام و خسته نباشید به همه کاربرای خوب ایران پی اچ پی

ببخشید یه سوال داشتم

من میخواستم یه مقداری رو داخل سایتم بگردم و پیدا کنم و جایگزین با یه مقدار دیگه کنم و حتما مجبور هستم که از regex استفاده کنم چون مقدار ها متفاوتن

مثلا هر علامت هشتگی که بود رو میخواستم تبدیل کنم به لینک

من با این کد تونستم لیست هشتگ ها رو بگیرم

کد پی‌اچ‌پی:
preg_match_all("/(#\w+)/u"$string$matches);  
        if (
$matches) {
            
$hashtagsArray array_count_values($matches[0]);
            
$hashtags array_keys($hashtagsArray);
        } 
ولی اون فایده نداره و میخواستم با preg_replace لیست هشتگ ها رو جایگزین لینک مرتبط با همون هشتگ کنم

یعنی
#ali
رو تبدیل کنم به
<a href="site.ir/ali">ali</a>
هر چی سرچ زدم ندیدم جایی آموزش درستی برای آرگومان دوم این تابع داده باشه

کد پی‌اچ‌پی:
preg_replace("(?<![a-zA-Z])@([a-zA-Z0-9]+|\\[[a-zA-Z0-9]+\\])"$replacements$text); 
امکانش هست راهنماییم کنین که تو تابع بالا جای $replacements باید چی بذارم ؟
  پاسخ
تشکر شده توسط :
#2
سلام و وقت بحیر

جهت تبدیل هشتگ ها به لینک از این مثال استفاده کنید :

کد پی‌اچ‌پی:
<?php
error_reporting
(0);

    
$text "سلام . من یک #هشتگ هستم. امروز #هوای_خوبی هست. ";
    
$text_export preg_replace("/(#\w+)/u"'<a href="site/hashtag/$1">$1</a>' $text); 
    echo 
$text_export;

?>

موفق باشید
  پاسخ
تشکر شده توسط :


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان