`

php打印网页的代码举例

    博客分类:
  • PHP
阅读更多
本文出处参考:http://www.jbxue.com/article/6793.html
为大家介绍一个可以生成方便打印的页面的php代码,很多新闻网站都有这个功能,生成的页面简洁大方,去掉了部分多余的元素,整个页面只包括标题、发布时间、内容等主要元素。这个不同于window.print()的功能哦。

具体实现代码如下:
<?
//从环境变量中得到文件的相对路径
$page=substr($SCRIPT_NAME,1);

// 显示一个图标并连接到打印页
// 便于打印页面的生成程序pfp.php
?>
<a href="pfp.php?page=<?=$page?>">;<img src="printer.gif" width="36" height="36" border="0" alt="点我跳转打印页面">打印本页</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">
<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>
</body></html>

分享到:
评论

相关推荐

    PHP语言开发常见问题解决办法入门总结.docx

    技巧举例:在使用mysqli或PDO扩展操作数据库时,采用预处理语句防止SQL注入,提高安全性及代码可维护性。 使用PHP内置函数 实践指南:充分利用PHP内置的字符串处理函数如trim(), strpos(), 数组处理函数如array_...

    PHP基础教程 是一个比较有价值的PHP新手教程!

    看看这个页面你就知道你的PHP安装使用的选项了。 2.3 语法 就像前面提到的一样,你可以混合编写你的PHP代码和HTML代码。因此你必须有办法将两者区别开来。以下就是你可以采用的几种方法。你可以选用其中一种你最...

    CodeIgniter:php敏捷开发框架web快速开发详解

    复制代码到剪贴板HTML 代码&lt;a href="http://www.mysite.com/index.php/start/hello/fred"&gt;say hello to Fred&lt;/a&gt;后来,你决定转移网站到其他 URL。这意谓你必须仔细地去查找并修改代码中的每一处 URL,否则它们将...

    PHP课程笔记

    //打印输出所有的值,通过document.write输出数组时,将自动转换成一个字符串输出 document.write(arr); 方式二:创建指定长度的数组,()中只有一个整数 var arr = new Array(3); //创建一个包含3个元素的数组 ...

    php利用云片网实现短信验证码功能的示例代码

    本文将以php举例,介绍网页短信验证码功能的实现。 在众多的第三方短信服务商中我选择了云片网这个短信服务商,本文也将尽可能利用最简单的方式去帮助广大开发者解决短信验证码功能模块的实现。 再次之前我也参考了...

    PHP3程序设计

    PHP是最流行的Web脚本语言之一,它运行在Web服务器端,根据用户请求或服务器端的数据产生动态网页;它功能强大,和HTML脚本融合在一起,并内建访问数据库的能力;它能够作为Apache Web 服务器的模块执行,也使得其...

    微信公众平台开发最佳实践 源代码

    微信公众平台开发最佳实践的源代码,没有加密。微信公众平台开发最佳实践讲的很详细,图文并茂。 其目录如下: 前 言 第1章 微信公众平台介绍 1 1.1 微信及其两大平台 1 1.2 微信公众平台 2 1.2.1 功能 2 1.2.2...

    PHP中全局变量global和$GLOBALS[]的区别分析

    一、举例比较 例一: 复制代码 代码如下: &lt;?php $var1 = 1; function test(){ unset($GLOBALS[‘var1’]); } test(); echo $var1; ?&gt; 因为$var1被删除了,所以什么东西都没有打印。 例二: 复制代码 代码如下:...

    PHP超低内存遍历目录文件和读取超大文件的方法

    这不是一篇教程,这是一篇笔记,所以我不会很系统地论述原理和实现,只简单说明和举例。 前言 我写这篇笔记的原因是现在网络上关于 PHP 遍历目录文件和 PHP 读取文本文件的教程和示例代码都是极其低效的,低效就算...

    php观察者模式应用场景实例详解

    * 免责声明:本文只是以哈票网举例,示例中并未涉及哈票网任何业务代码,全部原创,如有雷同,纯属巧合。 * * 场景描述: * 哈票以购票为核心业务(此模式不限于该业务),但围绕购票会产生不同的其他逻辑,如: *...

    PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明

    举例说明: 在Windows环境下:原本在php4.3.0中运行正常的程序,在4.3.1中为何多处报错,大体提示为:Notice:Undefined varialbe:变量名称. 例如有如下的代码: 复制代码 代码如下: if (!$tmp_i) { $tmp_i=10; } 在...

    PHP开发中的错误收集,不定期更新。

    Fatal error: Non-static method Conn::__construct() cannot be called statically in /file.php 没有静态的方法(里面这个指方法参数...使用$var = array(…) 举例: 复制代码 代码如下: //这里为字符串类型 $err = $e

    PHP函数使用说明(补充)

    PHP函数使用说明,应用举例,精简点评,希望对您学习php有所帮助。 1.print_r() 打印关于变量的易于理解的信息,若为数组,则显示数组的结构信息. 例如: 代码如下: &lt;?php $a = array (‘a’ =&gt; ‘apple’, ‘b’ ...

    xls转txt等工具集 v1.2

     用途举例 主要用途是过滤回车和制表符功能: 1. 本人开发的php+txt通用系列查询系统。 2. 本人开发的asp+txt通用系列查询系统。 3. 本人开发的asp+txt通用搜索功能。 4. 本人开发的PHP+txt通用搜索功能。 5. ...

    韩国商城购物系统MORNING MALL Cnc v1.6简体中文单用户版(免费

    3) 为什么通过访问所有 .php 页面都会出现类似程序代码一样的信息 这种情况是因为您的服务器上 PHP 语言支持环境没有被安装,或配置不正确。请自行安装,或向空间提供商寻求解决。 4) 如果数据库不存在...

    jsmartcom_zh_CN.rar_java 通用类型_jsmartcom_jsmartcom zh cn.jar_jsma

    jsp(SUN企业级应用的首选)SmartUpload是一...这种功能针对的是MySQL(和PHP搭配之最佳组合)数据库,因为不具有通用性,所以本文不准备举例介绍这种用法。 本jsmartcom_zh_CN.jar解决了原有官方网站不支持中文的问题。

    php采用ajax数据提交post与post常见方法总结

    下边是一个标准的ajax请求代码,正常情况下是不会有任何问题的,但是,在特定情况下就会出现问题,比如,username=fdas&321的时候,或者参数值中出现了&符号,经过了N多遍测试,发现数据都传输了,但是打印出来数据...

    微信公众平台开发最佳实践 源码及书箱

    3.1.3 常见问题与解决方案 23 3.2 实现自动回复 24 3.3 消息交互原理分析 24 第4章 基础接口 28 4.1 接收用户消息 28 4.1.1 接收文本消息 28 4.1.2 接收图片消息 28 4.1.3 接收语音消息 29 4.1.4 接收视频...

    jquery插件使用方法大全

    使用了新的jQuery内部Ajax API就可以实现下面的代码了: // Assign handlers immediately after making the request, // and remember the jxhr object for this request var jxhr = $.ajax({ url: "example.php" })...

    精通正则表达式~~~

    解决实际问题... 2 作为编程语言的正则表达式... 4 以文件名做类比... 4 以语言做类比... 5 正则表达式的知识框架... 6 对于有部分经验的读者... 6 检索文本文件:Egrep. 6 Egrep元字符... 8 行的起始和...

Global site tag (gtag.js) - Google Analytics