仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 3043|回复: 20
打印 上一主题 下一主题

[学习教程] PHP网页设计PHP生成便于打印的网页

[复制链接]
飘飘悠悠 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-2-4 00:05:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
刚开始因为习惯于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],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
愤怒的大鸟 该用户已被删除
5#
发表于 2015-2-27 21:41:42 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
飘灵儿 该用户已被删除
6#
发表于 2015-3-7 06:37:32 | 只看该作者
,熟悉html,能用div+css,还有javascript,优先考虑linux。我在开始学习的时候,就想把这些知识一起学习,我天真的认为同时学习能够互相呼应,因为知识是相通的。
只想知道 该用户已被删除
7#
发表于 2015-3-11 20:22:10 | 只看该作者
兴趣是最好的老师,百度是最好的词典。
因胸联盟 该用户已被删除
8#
发表于 2015-3-16 05:21:52 | 只看该作者
当留言板完成的时候,下步可以把做1个单人的blog程序,做为目标,
再现理想 该用户已被删除
9#
发表于 2015-3-19 14:04:14 | 只看该作者
我学习了一段时间后,我发现效果并不好(估计是我自身的问题)。因为一个人的精力总是有限的,同时学习这么多,会导致每个的学习时间都得不到保证。
精灵巫婆 该用户已被删除
10#
发表于 2015-3-23 22:59:23 | 只看该作者
要进行开发,搭建环境是首先需要做的事,windows下面我习惯把环境那个安装在C盘下面,因为我配的环境经常出现诡异事件,什么事都没做环境有的时候就不能用啦。
透明 该用户已被删除
11#
发表于 2015-3-27 07:08:15 | 只看该作者
至于模板嘛,各位高人一直以来就是争论不休,我一只小菜鸟就不加入战团啦,咱们新手还是多学点东西的好。
深爱那片海 该用户已被删除
12#
发表于 2015-4-9 09:58:27 | 只看该作者
微软最近出的新字体“微软雅黑”,虽然是挺漂亮的,不过firefox  支持的不是很好,所以能少用还是少用的好。
灵魂腐蚀 该用户已被删除
13#
发表于 2015-4-12 03:32:07 | 只看该作者
本人接触php时间不长,算是phper中的小菜鸟一只吧。由于刚开始学的时候没有名师指,碰过不少疙瘩,呗很多小问题卡过很久,白白浪费不少宝贵的时间,在次分享一些子的学习的心得。
第二个灵魂 该用户已被删除
14#
发表于 2015-4-14 20:12:28 | 只看该作者
基础有没有对学习php没有太大区别,关键是兴趣。
admin 该用户已被删除
15#
发表于 2015-4-15 00:29:04 | 只看该作者
小鸟是第一次发帖(我习惯潜水的(*^__^*) 嘻嘻……),有错误之处还请大家批评指正,另外,前些日子听人说有高手能用php写驱动程序,真是学无止境,人外有人,天外有天。
蒙在股里 该用户已被删除
16#
发表于 2015-4-16 08:10:24 | 只看该作者
使用zendstdio 写代码的的时候,把tab 的缩进设置成4个空格是很有必要的
分手快乐 该用户已被删除
17#
发表于 2015-4-20 19:25:25 | 只看该作者
其实没啥难的,多练习,练习写程序,真正的实践比看100遍都有用。不过要熟悉引擎
冷月葬花魂 该用户已被删除
18#
发表于 2015-4-21 19:01:24 | 只看该作者
对于初学者来说不推荐去拿钱买的。当然如果一个网站你经常去用,而且里面的资料也比较有用,最好还是买个会员比较好,毕竟那些也是别人的工作成果。
变相怪杰 该用户已被删除
19#
发表于 2015-5-1 16:11:34 | 只看该作者
没接触过框架的人,也不用害怕,其实框架就是一种命名规范及插件,学会一个框架其余的框架都很好上手的。
飘飘悠悠 该用户已被删除
20#
 楼主| 发表于 2015-5-4 18:48:52 | 只看该作者
建数据库表的时候,int型要输入长度的,其实是个摆设的输入几位都没影响的,只要大于4就行,囧。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 01:24

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表