بهينه سازي خروجي صفحات php جهت بالابردن سرعت و كاهش حجم
من يه پلاگين تو فروم mybb ديدم كه با فعال كردنش فضاهاي خالي در صفحه خروجي و كامنت ها رو بر مي داشت و هم حجم صفحه مي اومد پايين و هم سرعت بالا مي رفت. ولي اين فقط يه پلاگين مخصوص mybb بود و من نتونستم چيزي ازش در بيارم .
از دوستان مي خوام اگه كدش رو دارن تو اين تاپيك بزارن. مطمئنا به درد خيلي ها مي خوره.
thanx
كد پلاگين:
[PHP]
if(!defined("IN_MYBB"))
{
die("Direct initialization of this file is not allowed.<br /><br />Please make sure IN_MYBB is defined.");
}
$plugins->add_hook("pre_output_page", "imeiPageOptimizer");
function imeiPageOptimizer_info()
{
return array(
"name" => "<font color=red>*</font> imei Page Optimizer!",
"description" => "This Plugin makes your page smaller and faster with deletting comments and
garbrages sections of HTML codes.try it!",
"website" => "http://mybboard.ir",
"author" => "imei Addmimistrator",
"authorsite" => "http://www.myimei.com/security",
"version" => "1.0.1",
);
}
function imeiPageOptimizer_activate()
{
}
function imeiPageOptimizer_deactivate()
{
}
function imeiPageOptimizer($page)
{
if($session->is_spider)return $page;
$time=microtime();
$before=strlen($page);
$ret=$page;
//############STRIP COMMENTS############
$ptrn=array(
'#<!--(.*?)-->#ms'
,'#(<(script|style)[^>]*>)(.*?)(</\\2>)#sei'
,'#<imei>.*?</imei>#s'
);
$rep=array(
'<imei>\\1</imei>'
,"unadd('$1').preg_replace('#<imei>(.*?)</imei>#s','<!--\\\\1-->',unadd('$3')).unadd('$4')"
,""
);
$ret=preg_replace($ptrn,$rep,$ret);
//############STRIP SPACES###########
$ptrn=array(
'#(\n\r|\r\n|\n|\r)#'
,'#(<(pre|textarea|script)[^>]*>)(.*?)(</\\2>)#sie'
,'#<imei>#'
);
$rep=array(
'<imei>'
,"unadd('$1').preg_replace('#<imei>#','\n',unadd(' $3')).unadd('$4')"
,""
);
$ret=preg_replace($ptrn,$rep,$ret);
//############STRIP NEW LINES###########
//############STRIP SPACES###########
$ptrn=array(
'#(\e| |\t){2,}#ms'
,'#(<(pre|code|script)[^>]*>)(.*?)(</\\2>)#isme'
,'#<imei>.*?</imei>#ms'
);
$rep=array(
'<imei>\\0</imei>'
,"unadd('$1').preg_replace('#<imei>(.*?)</imei>#','\\\\1',unadd('$3')).unadd('$4')"
,' '
);
$ret=preg_replace($ptrn,$rep,$ret);
$time= microtime()-$time ;
$after=strlen($ret);
$report="<!-- optimization: ".round(100- $after*100/$before,2)."% by imeiPageOptimize in $time Seconds -->";
return $ret.$report;
}
if(!function_exists("unadd")){
function unadd($_){return trim($_) != ''?str_replace('\\"', '"', $_):"";}
}
[/PHP]