<body id="wordpress-org" class="home blog">
<div id="header">
<div class="wrapper">
<h1>[WordPress.org ](http://cn.wordpress.org/)</h1>
<h2 class="rosetta">
[China 简体中文 ](http://cn.wordpress.org/)
</h2>
<div style="clear:both"></div>
<ul>
<li>
<a href="/" title="首页" class="current"
>首页
</a>
</li>
<li>
<a
href="http://zh-cn.forums.wordpress.org/"
title="在此提出安装、使用上的问题,或与其它 WordPress 爱好者进行交流"
>论坛
</a>
</li>
<li>
<a
href="http://codex.wordpress.org/zh-cn:Main_Page"
title="WordPress 官方中文文档"
>文档
</a>
</li>
<li>
<a
href="http://codex.wordpress.org/Category:zh-cn:%E9%9C%80%E8%A6%81%E6%82%A8%E7%9A%84%E5%B8%AE%E5%8A%A9"
title="为中文 WordPress 做出贡献"
>贡献
</a>
</li>
<li>
<a
href="http://cn.wordpress.org/validators/"
title="WordPress China 当前各个项目的分工情况"
>团队
</a>
</li>
<li>
<a href="/contact/" title="联系译者"
>联系
</a>
</li>
</ul>
<div style="clear:both"></div>
</div>
</div>
<div class="outer" id="mid-wrapper">
<div class="wrapper">
<div class="section">
<h3>欢迎</h3>
<img
class="shot"
width="466"
height="303"
src="http://cn.wordpress.org/files/2011/07/dashboard-2.jpg"
alt="Localized version screenshot"
/>欢迎访问 WordPress
简体中文站点,这里提供可靠的官方
WordPress
中文版本以及相关支持。
WordPress
是一个注重美学、易用性和网络标准的个人信息发布平台。WordPress
虽为免费的开源软件,但其价值无法用金钱来衡量。
使用 WordPress
可以搭建功能强大的网络信息发布平台,但更多的是应用于个性化的博客。针对博客的应用,WordPress
能让您省却对后台技术的担心,集中精力做好网站的内容。
若您需要帮助,可以浏览我们的
[中文文档
](http://codex.wordpress.org/zh-cn:Main_Page)、在
[中文论坛
](http://zh-cn.forums.wordpress.org/)发帖,或者通过
[联系表单
](http://cn.wordpress.org/contact/)联系我们。祝您使用愉快!
</div>
</div>
</div>
</body>
有兴趣的同学可以数数上面的这段代码里有几个tab符。上面还只是cn.wordpress.org的一小段。
在HTML编程过程中,为了让代码对网站主和技术员简明易懂,程序猿们经常会在代码前加上分层缩进的Tab或者空格。但对于最终用户来说,这些tab和空格都是无用的。所以在网站输出中,我们应该把这些东西都干掉,甚至包括换行符,除了textarea和pre内容的换行符,这两个你懂的。
有国外大神开发出了HTML Minify PHP文件,可以全自动清除这些浪费流量的内容。不过,原始PHP执行效率较低,因为它有一个将绝对路径转换成相对路径的功能,耗时比清除这些内容的时间还要长,所以我进行了修改,把这个功能干掉了。还有其它一些修改,都是牺牲小部分功能来加快代码执行的。
使用方法:把这段代码保存成html-minify.php,上传到和你的主题模板index.php在同一目录下,在你模板header.php里最上头增加这么一行话:
<?php include "html-minify.php"; ?>
保存,搞定。
以下为我修改的代码:(要原版请移步http://github.com/stevenvachon/html-minify/)
<?php
/*
HTML Minify 0.5.7 <http://www.svachon.com/blog/html-minify/>
Reduce file size by shortening URLs and safely removing all standard comments and unnecessary white space from an HTML document.
*/
class HTML_Minify
{
// Settings
protected $compress_css;
protected $compress_js;
protected $info_comment;
protected $remove_comments;
// Variables
protected $html = '';
public function __construct($html, $compress_css=false, $compress_js=false, $remove_comments=true)
{
if ($html !== '')
{
$this->compress_css = $compress_css;
$this->compress_js = $compress_js;
$this->info_comment = $info_comment;
$this->remove_comments = $remove_comments;
$this->html = $this->minifyHTML($html);
}
}
public function __toString()
{
return $this->html;
}
protected function minifyHTML($html)
{
$pattern = '/<(?<script>script).*?<\/script\s*>|<(?<style>style).*?<\/style\s*>|<!(?<comment>--).*?-->|<(?<tag>[\/\w.:-]*)(?:".*?"|\'.*?\'|[^\'">]+)*>|(?<text>((<[^!\/\w.:-])?[^<]*)+)|/si';
if (preg_match_all($pattern, $html, $matches, PREG_SET_ORDER) === false)
{
// Invalid markup
return $html;
}
$overriding = false;
$raw_tag = false;
// Variable reused for output
$html = '';
foreach ($matches as $token)
{
$tag = (isset($token['tag'])) ? strtolower($token['tag']) : null;
$content = $token[0];
$relate = false;
$strip = false;
if (is_null($tag))
{
$content = preg_replace('/<!--(?!\s*(?:\[if [^\]]+]|<!|>))(?:(?!-->).)*-->/s', '', $content);
$relate = true;
$strip = true;
}
else // All tags except script, style and comments
{
if ($tag === 'pre' || $tag === 'textarea')
{
$raw_tag = $tag;
}
else if ($tag === '/pre' || $tag === '/textarea')
{
$raw_tag = false;
}
else if (!$raw_tag && !$overriding)
{
if ($tag !== '')
{
// Remove any space before the end of a tag (including closing tags and self-closing tags)
$content = preg_replace('/\s+(\/?\>)/', '$1', $content);
// Do not shorten canonical URL
if ($tag !== 'link')
{
$relate = true;
}
else if (preg_match('/rel=(?:\'|\")\s*canonical\s*(?:\'|\")/i', $content) === 0)
{
$relate = true;
}
}
else // Content between opening and closing tags
{
// Avoid multiple spaces by checking previous character in output HTML
if (strrpos($html,' ') === strlen($html)-1)
{
// Remove white space at the content beginning
$content = preg_replace('/^[\s\r\n]+/', '', $content);
}
}
$strip = true;
}
}
if ($strip)
{
$content = $this->removeWhiteSpace($content, $html);
}
$html .= $content;
}
return $html;
}
protected function removeWhiteSpace($html, $full_html)
{
$html = str_replace("\t", '', $html);
$html = str_replace("\r", '', $html);
$html = str_replace("\n", '', $html);
return str_replace(' ', '', $html);
}
}
function html_minify_buffer($html)
{
return new HTML_Minify($html);
}
ob_start('html_minify_buffer');
?>```