PDA

View Full Version : سوال: راهنمایی در مورد یک کد (حذف لینک های موجود در متن)



ahmad4u
سه شنبه 05 شهریور 1398, 15:14 عصر
سلام دوستان

با قرار دادن کد زیر در فانکشن وردپرس تمام لینک های موجود در متن حذف میشه



add_filter('the_content', 'removelink_content',1);

function removelink_content($content = '')
{
preg_match_all("#<a(.*?)>(.*?)</a>#i",$content, $matches);
$num = count($matches[0]);for($i = 0;$i < $num;$i++){
$content = str_replace($matches[0][$i] , $matches[2][$i] , $content);
}
return $content;
}

حالا میخوام همه لینک ها حذف نشه بلکه یکسری لینک هایی که بهش میدم حذف بشه و همچنین یکسری لینک هایی که آخرشون متغیر هست مثل (site.com/tag/1125)

لطفا راهنمایی کنید کد بالا چه تغییری باید بکنه

ali_sed
جمعه 08 شهریور 1398, 13:08 عصر
سلام دوستان

لطفا راهنمایی کنید کد بالا چه تغییری باید بکنه

سلام

لطفا الگوی عبارت باقاعده را به شکل زیر تغییر دهید.


preg_match_all("#<a.*?href=['\"]+(.*?)['\"]+.*?>(.*?)</a>#i",$content, $matches);

حال می توانید با استفاده از این متغییر $matches[1][$i] در داخل حلقه به مقدار url لینک دسترسی پیدا کنید. حال با توجه به نیاز خود url را پارس کنید و شرطهای مورد نظر خود را بررسی کنید.