PDA

View Full Version : سوال: مشکل های گرفتن عکس های یک سایت و کپی آنها در سرور



generalhak
جمعه 11 مرداد 1392, 19:05 عصر
سلام
من وقتی از داخل یک صفحه سایت خارجی میخوای مثلا لینک عکس رو بگیرم و کپی کنم داخل هاست خودم این کارو میکنم
صفحه سایت رو میخونم
بین 2 تا تگ که عکس داخلش هست رو میگیرم
مثلا :


</strong> <font class="content"> <br />
<img src="/MyPic/3.92/21-&amp;-Over.jpg" alt="" /><br />
</font> <font class="content"><br />

مثلا الان تا اول img src=" حذف میکنم رشته رو و بعد از " alt="" رو هم حذف میکنم لینک بدست میاد !
حالا با این روشم کلی مشکل پیش میاد مثلا اون &amp; باید تبدیل شه به & و آدرس اصلی سایت مقصد باید به اول لینک اون آدرس عکس اضافه شه و باز داستان جایی شروع میشه که بعضی وقتها لینک اصلی آدرس سایت در اول آدرس وجود داره و....
حالا با مرورگر وقتی سورس صفحه سایت مقصد رو بگیری و اون قسمت لینک رو بیاری با کلیک روی لینک عکس تمام اون اعمال خودکار انجام میشه
حالا میخواستم بدونم روش اصلی این کار در php چیه ؟ که این دردسر ها رو نداشته باشی ؟

Variable
جمعه 11 مرداد 1392, 23:09 عصر
استفاده از لایبراری (http://simplehtmldom.sourceforge.net/manual.htm)

tecnocomputer2
جمعه 11 مرداد 1392, 23:46 عصر
دوست من شما میتونید از تابع html_entity_decode (http://php.net/manual/pt_BR/function.html-entity-decode.php) استفاده کنید.

مثال:


echo html_entity_decode("A &amp; M");

// خروجی
// A & M

generalhak
شنبه 12 مرداد 1392, 14:55 عصر
دوست من شما میتونید از تابع html_entity_decode (http://php.net/manual/pt_BR/function.html-entity-decode.php) استفاده کنید.

مثال:


echo html_entity_decode("A &amp; M");

// خروجی
// A & M


در وب وقتی در یک لینک فاصله وجود داشته باشه اون تبدیل میشه به 20% .... این تابع مشکلی رو حل نمیکنه...

generalhak
شنبه 12 مرداد 1392, 14:57 عصر
استفاده از لایبراری (http://simplehtmldom.sourceforge.net/manual.htm)

این کار تقریبا بد نیست...
اما بازم هم کار گفتن لینک رو انجام میده...
بازم اون مشکل های دیگه باقی میمونه
مثلا در یک سایت شاید یک عکس اینطوری آدرس دهی شده باشه ../../../sdsd.png و شاید یک عکس دیگر هم اینطوری /asdsd.png و به همین ترتیب ...
که اینطور که معلومه راهی نیست و باید خودمون با if این کارو بکنیم....