源码下载 | 站长论坛 | 网页特效 | 广告代码 | 站长必备 | 站长工具
会员投稿 投稿指南 RSS订阅
您当前的位置是:主页>网络编程>PHP教程>

PHP输出控制功能在简繁体转换中的应用

www.jz123.cn  2009-02-18   来源:   中国建站    责任编辑(乐乐)    我要投递新闻

  概要:本文对PHP的输出控制功能进行了简单介绍并对其在简繁体转化中的应用给出了具体思路和实例。

  一 PHP 输出控制功能介绍

  PHP作为当今流行的脚本语言之一,具有编写简便,执行速度快,扩充性好等优点。PHP的输出信息控制函数可以让你控制你的脚本输出的内容,可以用于许多不同的情况,特别是在你的脚本已经输出信息后需要发送文件头的情况以及需要对输出信息进行编辑处理的地方。输出控制函数不对使用 header() 或 setcookie() 发送的文件头信息产生影响,只对那些类似于 echo()、print() 和 PHP 代码的数据块有作用。

  例 1. 控制输出

  以下为引用的内容:

  test.php

  function test($str){

  return str_replace("php2000","y10k",$str);

  }

  ob_start("test");

  echo "hello php2000";

  ob_end_flush();

  ?>

  这个程序在没有输出信息控制的情况下应该输出为

  hello php2000

  但通过指定了输出控制函数后,输出变为

  hello y10k

  在上面的例子中,使用 echo() 的输出内容将会保存在输出缓冲区中,直到调用了 ob_end_flush()或者脚本运行终止, 然后输出信息由自定义的处理函数进行处理(替换里面的字符串)并返回结果。

  相关函数说明:

  ob_start([string output_callback])- 打开输出缓冲区

  所有的输出信息不在直接发送到浏览器,而是保存在输出缓冲区里面,可选得回调函数用于处理输出结果信息。

  ob_end_flush - 结束(发送)输出缓冲区的内容,关闭输出缓冲区

  二 简繁体转换的实现

  一般通过对照表的形式实现,相关的文章非常多,这里就不多讲了,只给出其实现代码

  以下为引用的内容:

  function gb2big5($str) {

  global $_gb_big5_;

  $leng = strlen($str)-1;

  for($i = 0; $i<$leng; $i++){

  $h = ord($str[$i]);

  if($h>=160){

  $l = ord($str[$i+1]);

  $gb=($h==161 && $l==64)?" " : substr($_gb_big5_, ($h-160)*510+($l-1)*2, 2);

  $str[$i] = $gb[0];

  $str[$i+1] = $gb[1];

  $i++;

  }

  }

  return $str;

  }

  ?>

  其中:

  $gb_big5_ 保存着big5 的字库对照表

  $str 为要转化的字符串

上一篇:在PHP中执行系统外部命令 下一篇:PHP4之COOKIE支持详解

评论总数:2 [ 查看全部 ] 网友评论


关于我们隐私版权广告服务友情链接联系我们网站地图