سلام
امروز با استفاده از سایت OnlineCurrency - قیمت لحظه ای طلا سکه ارز فلزات یک تابع می نویسیم که تیبل چند ارز مهم و قیمت سکه روز رو نشون میده .
سورس ما اینجاست : OnlineCurrency - قیمت لحظهای طلا سکه ارز فلزات
مثل پست های قبلی عمل میکنیم .
یه تابع میسازیم با دو متغیر به نام site و link
کد:
function arz($site ,$link) {
// HaHa :D
}
خوب حالا سورس صفحه رو میریزیم داخل یه متغیر :
کد PHP:
$source = file_get_contents("http://onlinecurrency.ir/widget/widget.php");
از تابع preg_match برای بریدن استفاده میکنیم :
کد PHP:
preg_match('/<div class="main">.*?<\/[\s]*div>/s', $source, $matches);
---
خوب یه تابعی هم که امروز میخوایم معرفی کنیم str_replace هست .
ساختار تابع str_replace
کد PHP:
str_replace(find,replace,string,count)
متغیر find : از اسمش معلومه . به این متغیر داده هایی که قراره برامون جستجو کنه رو میدیم .
متغیر replace : داده هایی که قراره برامون به جای اون داده های find قرار بده .
متغیر string : متنی که میخوایم داخلش این عمل رو انجام بدیم .
متغیر count : توی اینجا یه متغیر میذاریم توش که نتیجه بازگشتی اون تعداد ریپلیست ها هست .
---
خوب ما وقتی سورسمون رو چاپ کنیم میخوایم اسم Powered by:
Online Currency به اسم سایت خودمون تغییر داده بشه ! (
)
خوب اینجا باید دو بار عمل replace رو انجام بدیم . پس میایم دوتا متغیر رو میریزم داخل یه آرایه ( Array ) .
اینجا متغیر find مساوی آرایه قرار دادیم :
کد PHP:
$find = array("Online Currency","http://onlinecurrency.ir");
اینجا هم متغیر replace :
کد PHP:
$replace = array($site ,$link);
حالا تابع رو فراخوانی میکنیم :
کد PHP:
print_r(str_replace($find,$replace,$matches['0']));
خوب اینجا Array هایی که بهش دادیم میره به ترتیب Find و Replace میکنه .
حالا تابعی که نوشتیم رو میتونیم اینجوری فراخوانی کنیم :
کد:
arz("XMoney" ,"http://www.xmoney.ir/");
اگر متوجه نشدید فایل رو ران کنید و کارکردش رو ببینید .
یه سری کد css هم داشت :
کد:
body,p,table,form,h1,h2,h3 {margin:0; padding:0}body {font-family:tahoma; font-size:8pt}
a {color:#000; text-decoration:none}
a:hover {color:#666; text-decoration:underline}
.main {width:200px; padding:5px; background:#F4F4F4; border:1px solid #444}
table {direction:rtl}
td {padding:5px; text-align:center}
.top {text-align:center; background:#EEE; color:#555; font-weight:bold; border:1px solid #ddd}
حالا یه Sample :
کد:
<?php
function arz($site ,$link) {
$source = file_get_contents("http://onlinecurrency.ir/widget/widget.php");
preg_match('/<div class="main">.*?<\/[\s]*div>/s', $source, $matches);
$find = array("Online Currency","http://onlinecurrency.ir");
$replace = array($site ,$link);
print_r(str_replace($find,$replace,$matches['0']));
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Test !</title>
<style type="text/css">
body,p,table,form,h1,h2,h3 {margin:0; padding:0}
body {font-family:tahoma; font-size:8pt}
a {color:#000; text-decoration:none}
a:hover {color:#666; text-decoration:underline}
.main {width:200px; padding:5px; background:#F4F4F4; border:1px solid #444}
table {direction:rtl}
td {padding:5px; text-align:center}
.top {text-align:center; background:#EEE; color:#555; font-weight:bold; border:1px solid #ddd}
</style>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-352924-23']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<?php
arz("Google" ,"http://www.xmoney.ir/");
echo '</div>';
?>
</body>
</html>
موفق باشید / امیر