|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
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手册)肯定是要从网上下载一个的,它很权威,也很全面,我自己认为它是一本很好的参考书,但是不适合新手当教材使用。 |
|