PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : [آموزش] کد نرخ ارز ( به روز) از سایت mesghal.Com



EM4D-M
2011-11-10, 00:31
سلام خدمت دوستان و بزرگواران عزیز

چند روز پیش ، عزیزی درخواست همچین کدی رو داشتن که تقدیمشون کردم

احساس کردم برای فروشگاه داران هم میتونه مفید باشه ، شاید لازم باشه نرخ به روز ارز رو در یک قسمتی از سایتشون نمایش بدن

بی مقدمه میریم سر اصل مطلب

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

کار گرفتن سورس رو تابع file_get_contents انجام میده ( البته کار های زیادی انجام میده .... )




$emad = file_get_contents("http://www.mesghal.com");

الان چیکار کردیم ؟

سایت رو به صورت کلی ( سورس ) رو در متغیری به نام emad ذخیره کردیم

حالا باید اون قسمت رو که مربوط به نرخ ارز ها میشه رو بیرون بکشیم
ما به تابع preg_match میگیم که برو دنبال جدولی بگرد که با




<table border="1" width="500" cellspacing="4" cellpadding="2" bgcolor="#FFFFCC" bordercolor="#FFFF00" id="table7">


شروع شده و با </table> تموم میشه رو پیدا کن و به خروجی ارسال کن ( تابع preg_match خروجی رو به صورت آرایه ای به آرگومان سوم که یک متغیره ارسال میکنه )




preg_match('/<table border="1" width="500" cellspacing="4" cellpadding="2" bgcolor="#FFFFCC" bordercolor="#FFFF00" id="table7">.*?<\/[\s]*table>/s', $emad, $matches);

حالا کافیه نتیجه رو به نمایش بدیم



echo $matches['0'];

تموم شد !

اگه خوب پیش رفته باشیم کدتون باید مثل زیر باشه




<?php
$emad = file_get_contents("http://www.mesghal.com");
preg_match('/<table border="1" width="500" cellspacing="4" cellpadding="2" bgcolor="#FFFFCC"bordercolor="#FFFF00" id="table7">.*?<\/[\s]*table>/s', $emad, $matches);
echo $matches['0'];
?>





پیشنمایش { کلیک کنید (http://files.nullers.ir/users/Emad/files/emad.php) }

انشاالله در آینده آموزش تغییر سایز جدول و تبدیل اون به افزونه وردپرس و و جوملا رو آموزش میدم .

عجله نکنید یکم مشغله کاری و ....

موفق و پیروز باشید !

EM4D-M
2011-11-10, 12:45
با سلام مجدد

برای کوچک کردن عرض جدول که در سایدبار های وبساستمان جای بگیره باید از تابع str_replace استفاده کنیم

برای اینکار خط زیر را :


echo $matches['0'];


به




echo str_replace("500","100",$matches['0']);



تبدیل کنید

حتما متوجه شدید چیکار کردیم
ما عرض جدول که 500 بود را با 100 تعویض کردیم


سوالی بود در خدمتم

پیروز باشید !