一 PHP 輸出控制功能介紹
PHP作為當今流行的腳本語言之一,具有編寫簡便,執行速度快,擴充性好等優點。PHP的輸出信息控制函 " /> 毛茸茸womansex,乳女教师欲乱动漫无修版动画 ,MELODY在线播放无删减

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

PHP輸出控制功能在簡繁體轉換中的應用

概要:本文對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 為要轉化的字符串
三 輸出控制函數在簡繁體轉化中的應用
目前的大多數網站的簡繁體頁面轉換都是通過各自單獨的頁面實現的,這樣導致在修改簡體頁面的時候還需要再次修改繁體的頁面,不能做到自動同步。而我們提供的這個方法,可以實現同一個頁面自動的變換簡繁體顯示。其實現方法是:
1 建立簡繁體標志,用于指示當前顯示的簡繁體狀態,同時對簡繁體狀態進行切換
php2000_gb_big5.php
<?
session_start(); // 打開session 功能,用于在各個頁面之間自動傳遞標志
if(!session_is_registered("php2000_big5")){ // 檢查簡繁體標志的注冊狀態
session_register("php2000_big5"); // 注冊簡繁體標志,簡體=0;繁體=1
$php2000_big5=0; // 默認為簡體
}
$php2000_big5 = ($php2000_big5+1)%2; // 切換簡繁體狀態
header("location:".getenv("HTTP_REFERER")); // 返回其調用頁面
?>
2對頁面輸出信息進行控制,每個頁面都調用這段程序,用于簡繁體轉換
require.php(應包括前面第二部分的轉換代碼,這里略)
<?
Session_start();
function translate_gb2big5($str) {
$str = gb2big5($str); // 轉化為 big5
$str = str_replace('charset=gb2312', 'charset=big5', $str); // 替換字符類型
header('Content-Type: text/html; charset=big5'); // 繁體文件頭
return $str;
}
if(session_is_registered("php2000_big5") && ($php2000_big5==1)){ // 判斷標志
$fp = fopen('big5.table', 'r'); // big5的字庫表
$_gb_big5_ = fread($fp, filesize('big5.table')); // 讀出數據
fclose($fp);
ob_start('translate_gb2big5'); // 啟動輸出信息控制
}
?>
3 使用方法,這里給出一個最簡單的例子,放在和 require.php 同一個目錄里面
test.php
<?
require("require.php");
echo "大家好,這里是 php 世紀網";
?>
<a href=php2000_gb_big5.php>
<?
if($php2000_big5==1)echo "GB";
else echo "Big5";
?>
</a>
第一次運行結果為默認簡體如下
大家好,這里是 php 世紀網 Big5
點擊 Big5 連接顯示繁體如下
大家好, 主站蜘蛛池模板: a国产成人免费视频 | 97人视频国产在线观看 | 亚洲婷婷天堂综合国产剧情 | 99在线观看视频 | 日日摸天天添天天添无码蜜臀 | 国产成人精品系列在线观看 | 成人午夜剧场 | 精品久久久麻豆国产精品 | 日本亚洲中文字幕无码区 | 久久99re热在线播放7 | 18日本人XXXXXX18| 无码人妻少妇色欲AV一区二区 | 91传媒蜜桃香蕉在线观看 | 全部老头和老太XXXXX | 久久久欧美国产精品人妻噜噜 | 国内精品蜜汁乔依琳视频 | 午夜国产羞羞视频免费网站 | 久久人妻熟女中文字幕AV蜜芽 | 60岁老年熟妇在线无码 | 亚洲色欲国产AV精品综合 | 亚洲国产成人精品不卡青青草原 | 国产乱人伦AV麻豆网 | 中国jjzz| 亚洲无吗视频 | 成人免费视频在 | 伊人久久综合成人亚洲 | 人妻中文字幕无码久久AV爆 | 秋霞伦理高清视频在线 | 日本又黄又爽又色又刺激的视频 | 西施打开双腿下面好紧 | 在线亚洲中文字幕36页 | 色欲蜜臀AV免费视频 | 四虎影院2022 | 亚洲 小说 欧美 激情 另类 | 国产麻豆福利AV在线观看 | 国产免费内射又粗又爽密桃视频 | 午夜伦理 第1页 | 一个人HD在线观看免费高清视频 | 毛片免费播放 | 一受多攻高h | 在线高清无码欧美久章草 |