PDA

View Full Version : سوال: باز کردن یک صفحه از سایت های دیگر



mbf5923
یک شنبه 25 دی 1390, 18:00 عصر
سلام دوستان
فرض کنید با کد زیر:

$webpage = $a;
$fp = fopen( $webpage, "r" ) or die("couldn't open $webpage");
while ( ! feof( $fp )){
print fgets( $fp, 1024 );
}
یک صفحه از سایت دیگه رو در سایت خودمون باز کردیم
حالا سوال اینجاست که چطور میشه وقتی کاربر روی یکی از لینک های اون سایت که در سایت ما باز شده کلیک کرد ما متوجه آدرس اون لینک بشیم؟
متشکرم

MMSHFE
یک شنبه 25 دی 1390, 18:12 عصر
عزیز بهتره لینکها رو تغییر بدین و به صفحه خاصی توی سایت خودتون هدایت کنید و کارهای دلخواه رو با اون لینک انجام بدین و بعد، کاربر رو به صفحه اصلی مقصد لینک هدایت کنید. مثلاً لینک:

<a href="http://www.remotesite.com/test">Link</a>
رو اینطوری تغییر بدین:

<a href="redirector.php?url=http://www.remotesite.com/test">Link</a>
و توی صفحه redirector.php ابتدا روی ['GET['url_$ کارهای دلخواه رو انجام بدین و بعد، کاربر رو به مقصد اصلی یعنی remotesite.com/test ریدایرکت کنید.
موفق باشید.

mbf5923
یک شنبه 25 دی 1390, 19:03 عصر
اول سلام میکنم خدمت آقای شهرکی عزیز
خوب اینجا مسئله اینه که ما هر بار که سایت رو باز میکنیم نمیدونیم چه لینک هایی داره مثلا یاهو هربار لینکای داخلش عوض میشه و آدرس ثابت نداره پس اول باید لینک کلیک شده رو بدست بیاریم بعد اون رو مدیریت کنیم
اما چطوری؟!

MMSHFE
دوشنبه 26 دی 1390, 07:52 صبح
شما ابتدا محتویات صفحه رو به هر شکل که میخواین دریافت کنید. من فرض کردم توی متغیر page$ ذخیره کردین. بعد، این کد رو اجرا کنید:

$page = preg_replace('#<a(.)*href="([^"]*)"([^>]*)>(.*)</a>#i', '<a$1href="redirector.php?url=$2"$3>$4</a>', $page);
حالا کافیه page$ رو echo کنید.
موفق باشید.