飘飘悠悠 发表于 2015-2-4 00:05:30

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手册)肯定是要从网上下载一个的,它很权威,也很全面,我自己认为它是一本很好的参考书,但是不适合新手当教材使用。

金色的骷髅 发表于 2015-2-4 08:45:44

Ps:以上纯属原创,如有雷同,纯属巧合

柔情似水 发表于 2015-2-9 20:33:17

有位前辈曾经跟我说过,phper 至少要掌握200个函数 编起程序来才能顺畅点,那些不熟悉的函数记不住也要一拿手册就能找到。所以建议新手们没事就看看php的手册(至少array函数和string函数是要记牢的)。

小女巫 发表于 2015-2-16 23:19:09

因为blog这样的可以让你接触更多要学的知识,可以接触用到类,模板,js ,ajax

愤怒的大鸟 发表于 2015-2-27 21:41:42

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

飘灵儿 发表于 2015-3-7 06:37:32

,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。

只想知道 发表于 2015-3-11 20:22:10

兴趣是最好的老师,百度是最好的词典。

因胸联盟 发表于 2015-3-16 05:21:52

当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,

再现理想 发表于 2015-3-19 14:04:14

我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。

精灵巫婆 发表于 2015-3-23 22:59:23

要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。

透明 发表于 2015-3-27 07:08:15

至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。

深爱那片海 发表于 2015-4-9 09:58:27

微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox支持的不是很好,所以能少用还是少用的好。

灵魂腐蚀 发表于 2015-4-12 03:32:07

本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。

第二个灵魂 发表于 2015-4-14 20:12:28

基础有没有对学习php没有太大区别,关键是兴趣。

admin 发表于 2015-4-15 00:29:04

小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。

蒙在股里 发表于 2015-4-16 08:10:24

使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的

分手快乐 发表于 2015-4-20 19:25:25

其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎

冷月葬花魂 发表于 2015-4-21 19:01:24

对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。

变相怪杰 发表于 2015-5-1 16:11:34

没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。

飘飘悠悠 发表于 2015-5-4 18:48:52

建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
页: [1] 2
查看完整版本: PHP网页设计PHP生成便于打印的网页