PDA

View Full Version : چه طوری همه تگ های <A> رو بازنویسی کنم ؟



saeedvir
شنبه 16 شهریور 1392, 21:07 عصر
سلام.

من برای اینکه فقط اعضا بتونن لینک های درون سایت م. رو ببینم می خوام تا وقتی که بازدید کننده login نکرده همه لینک ها رو مثل به صورت زیر باز نویسی کنم :

(مثل همین کاری که در انجمن ها می کنن تا فقط اعضا بتونن لینک ها رو ببینن).


<a href ="http://www.google.com">Google</a>

را با این پایینی عوض کنم :


<a href= "site/register.php">register now</a>

hamedarian2009
شنبه 16 شهریور 1392, 21:59 عصر
تو شرط بزارین اگر لاگین نکرده این لینکو نمایش بده وگرنه اونیکی دیگه رو

Reza1607
شنبه 16 شهریور 1392, 23:08 عصر
بايد از عبارات با قاعده استفاده كنيد
تو انجمن سرج كنيد آموزش هاي زيادي هست

AliRezaPro
شنبه 16 شهریور 1392, 23:21 عصر
ببینید :

http://stackoverflow.com/questions/6835259/find-and-replace-all-links-in-a-web-page-using-php-javascript

Unique
یک شنبه 17 شهریور 1392, 01:20 صبح
یا باید دونه به دونه لینک ها را چک کنی و تغییر بدی که دیوانگیه ! یا output buffering را on کنی و با یک reg exp بیای تغییرات را اعمال کنی ! بهترین روش به نظر من اینه ! در مورد output buffering خودم یک پست توی همین انجمن داشتم و توضیحاتی با مثالی توی همین زمینه ها دادم ! اما روی گوگل هم جستجو کنی متوجه میشی به چه نحوی هست ! replace کردن با reg exp هم که توی وب بگردی تا دلت بخواد ریخته !

SilverLearn
یک شنبه 17 شهریور 1392, 01:26 صبح
من هم با نظر uniqe موافقم ....
استفاده از regex خیلی کار خوبیه برای این نوع کارها



preg_replace("/<a[^>]*href=(\"[^\"]*\")/", "آدرس جدید", $body);


اگر هم میخوای دقیق بدونی که چیکار میکنه می تونی به لینک زیر بری و آموزش regex رو ببینی :

http://www.silverlearn.ir/thread134.html