PHP网页设计PHP生成便于打印的网页
刚开始因为习惯于ASP格式的写法,总是在这些方面出现问题,自己还总是找不到问题所在,这就提醒了自己,在写代码的时候一定要认真,不能粗心地老是少个“;”或者字母大小写不分,要不然很可能找半天都找不到错误。 良多旧事和信息站点都供应了一种生成便于打印的网页的办法,所发生的页面的排版结构更有益于打印机的打印输入,这类办法便利了咱们从网页上直接打印咱们所需的内容,而不用为格局不规整伤头脑,或粘贴到文本编纂器中从头排版。但是,我却没看到有几何网站具体注释这些是若何完成的,在这里我供应一小段代码――用PHP来完成生成便于打印的网页并非像想象的那末难,但愿对人人有匡助。要生成便于打印的网页,需求咱们做哪些任务呢?这次要取决于你的网站特色,和你想要生成的版式特点,不外有一些根基处置需求完成:
1、 页宽――生成页面的宽度必需限制,要打印A4的纸,大约网页要在630像素宽。
2、 页面后台色――为了雅观,良多网页利用了分歧的后台色和后台图片,然而作为要打印的网页,最适合后果的仍是白底黑字为好。
3、 告白条――移除页面上的告白
4、 表格的后台色――咱们常常在表格顶用色彩来强调信息和题目,这些也必需移除。
5、 链接――页面中的超链接也必需改动以使URL可见,例如:<a href=http://www.gbdirect.co.uk/ >GBDirect</a>应显示为GBDirect (http://www.gbdirect.co.uk/)
6、 菜单――菜单是最难被制止的,但是假如你的页面是利用模板来构建的话,那末最复杂的办法是换用便于打印的没有菜单的模板。
这些生成便于打印页面的一切办法,都长短常复杂的,需求完成的时分你可以被上面的代码放到网页中:
<?
//从情况变量中失掉文件的绝对途径
$page=substr($SCRIPT_NAME,1);
// 显示一个图标并毗连到Printer Friendly Pages
// 便于打印页面的生成法式pfp.php
?>
<a href="pfp.php?page=<?=$page?>">;
<img src="http://edu.cnzz.cn/NewsInfo/printer.gif" width="36" height="36" border="0"
alt="Click here to produce a printer friendly page">
<font face="arial, helvetica" size="2">
Printer Friendly Version
</font>
</a>
把以后页面的称号传递到pfp.php法式中,这个法式利用PHP的“file”函数把页面作为一个字符串来处置。当这个页面被载入的时分,法式就能够增添、改写或删除HTML片断。
<?
ereg('^.*/',$SCRIPT_FILENAME,$tmp);
$page_path = substr($tmp,0,-1);
?>
<html>
<head>
<base href="http://<? echo $HTTP_HOST ?>/">
<meta name="robots" content="no index, no follow">
<title>Printer Friendly Page</title>
</head>
<body bgcolor="white">
<font face="Arial,Helvetica">
<table border="0" cellpadding="5" cellspacing="0" width="630" >
<tr>
<td valign="top">
<?
// check if the filename for the page exists
if (!file_exists("$page.inc"))
{
echo "<strong>Error - The page <?=$page?>".
"does not exist on this site.</strong>";
}
else
{
// 失掉页面的内容并把它放到一个字符串中
$fcontents = join('', file("$page.inc"));
// 疏忽色彩属性,转换以’ignore’替换’color’
$fcontents = ereg_replace('color','ignore',$fcontents);
// 去除超链接中的 “_blank”
$fcontents = ereg_replace('target=\"_blank\"','',$fcontents);
// 交换</a>标志
$fcontents = ereg_replace('</a>','',$fcontents);
// 显示URL的相对地址
$fcontents = ereg_replace('<a[^h]*href="(http://[^"]*)"[^>]*>;([^]*)',
'<strong>\\2</strong><em>(\\1)</em>',$fcontents);
// 把绝对链接转为相对链接
$fcontents = ereg_replace(
'<a[^h]*href="([^"]*)"[^>]*>([^]*)',
"<strong>\\2</strong><em>(http://$HTTP_HOST/\\1)</em>";,
$fcontents);
// 后台色彩改回白色
$fcontents = ereg_replace('<body bgignore','<body bgcolor',$fcontents);
// if any markers left restore link end element
$fcontents = ereg_replace('','</a>',$fcontents);
// 输入页面
echo $fcontents;
}
?>
</td>
</tr>
<tr>
<td align="center"><hr width="90%"></td>
</tr>
<tr>
<td align="center">
<? include("$page_path/footer.inc"); ?>
</td>
</tr>
</table>
</font>
</body>
</html>
如许便于打印的页面就生成了,但愿对人人能有匡助。
php manual(PHP手册)肯定是要从网上下载一个的,它很权威,也很全面,我自己认为它是一本很好的参考书,但是不适合新手当教材使用。 Ps:以上纯属原创,如有雷同,纯属巧合 有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。 因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 ,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。 兴趣是最好的老师,百度是最好的词典。 当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标, 我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。 要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。 至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。 微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。 本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。 基础有没有对学习php没有太大区别,关键是兴趣。 小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。 使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的 其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎 对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。 没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。 建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
页:
[1]
2