程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php 漢字轉換拼音程序

php 漢字轉換拼音程序

編輯:關於PHP編程

php 漢字轉換拼音程序

<?php
class pinyin {
    var $data   = array(array("a",-20319),array("ai",-20317),array("an",-20304),array("ang",-20295),array("ao",-20292),array("ba",-20283),array("bai",-20265),array("ban",-20257),array("bang",-20242),array("bao",-20230),array("bei",-20051),array("ben",-20036),array("beng",-20032),array("bi",-20026),array("bian",-20002),array("biao",-19990),array("bie",-19986),array("bin",-19982),array("bing",-19976),array("bo",-19805),array("bu",-19784),array("ca",-19775),array("cai",-19774),array("can",-19763),array("cang",-19756),array("cao",-19751),array("ce",-19746),array("ceng",-19741),array("cha",-19739),array("chai",-19728),array("chan",-19725),array("chang",-19715),array("chao",-19540),array("che",-19531),array("chen",-19525),array("cheng",-19515),array("chi",-19500),array("chong",-19484),array("chou",-19479),array("chu",-19467),array("chuai",-19289),array("chuan",-19288),array("chuang",-19281),array("chui",-19275),array("chun",-19270),array("chuo",-19263),array("ci",-19261),array("cong",-19249),array("cou",-19243),array("cu",-19242),array("cuan",-19238),array("cui",-19235),array("cun",-19227),array("cuo",-19224),array("da",-19218),array("dai",-19212),array("dan",-19038),array("dang",-19023),array("dao",-19018),array("de",-19006),array("deng",-19003),array("di",-18996),array("dian",-18977),array("diao",-18961),array("die",-18952),array("ding",-18783),array("diu",-18774),array("dong",-18773),array("dou",-18763),array("du",-18756),array("duan",-18741),array("dui",-18735),array("dun",-18731),array("duo",-18722),array("e",-18710),array("en",-18697),array("er",-18696),array("fa",-18526),array("fan",-18518),array("fang",-18501),array("fei",-18490),array("fen",-18478),array("feng",-18463),array("fo",-18448),array("fou",-18447),array("fu",-18446),array("ga",-18239),array("gai",-18237),array("gan",-18231),array("gang",-18220),array("gao",-18211),array("ge",-18201),array("gei",-18184),array("gen",-18183),array("geng",-18181),array("gong",-18012),array("gou",-17997),array("gu",-17988),array("gua",-17970),array("guai",-17964),array("guan",-17961),array("guang",-17950),array("gui",-17947),array("gun",-17931),array("guo",-17928),array("ha",-17922),array("hai",-17759),array("han",-17752),array("hang",-17733),array("hao",-17730),array("he",-17721),array("hei",-17703),array("hen",-17701),array("heng",-17697),array("hong",-17692),array("hou",-17683),array("hu",-17676),array("hua",-17496),array("huai",-17487),array("huan",-17482),array("huang",-17468),array("hui",-17454),array("hun",-17433),array("huo",-17427),array("ji",-17417),array("jia",-17202),array("jian",-17185),array("jiang",-16983),array("jiao",-16970),array("jie",-16942),array("jin",-16915),array("jing",-16733),array("jiong",-16708),array("jiu",-16706),array("ju",-16689),array("juan",-16664),array("jue",-16657),array("jun",-16647),array("ka",-16474),array("kai",-16470),array("kan",-16465),array("kang",-16459),array("kao",-16452),array("ke",-16448),array("ken",-16433),array("keng",-16429),array("kong",-16427),array("kou",-16423),array("ku",-16419),array("kua",-16412),array("kuai",-16407),array("kuan",-16403),array("kuang",-16401),array("kui",-16393),array("kun",-16220),array("kuo",-16216),array("la",-16212),array("lai",-16205),array("lan",-16202),array("lang",-16187),array("lao",-16180),array("le",-16171),array("lei",-16169),array("leng",-16158),array("li",-16155),array("lia",-15959),array("lian",-15958),array("liang",-15944),array("liao",-15933),array("lie",-15920),array("lin",-15915),array("ling",-15903),array("liu",-15889),array("long",-15878),array("lou",-15707),array("lu",-15701),array("lv",-15681),array("luan",-15667),array("lue",-15661),array("lun",-15659),array("luo",-15652),array("ma",-15640),array("mai",-15631),array("man",-15625),array("mang",-15454),array("mao",-15448),array("me",-15436),array("mei",-15435),array("men",-15419),array("meng",-15416),array("mi",-15408),array("mian",-15394),array("miao",-15385),array("mie",-15377),array("min",-15375),array("ming",-15369),array("miu",-15363),array("mo",-15362),array("mou",-15183),array("mu",-15180),array("na",-15165),array("nai",-15158),array("nan",-15153),array("nang",-15150),array("nao",-15149),array("ne",-15144),array("nei",-15143),array("nen",-15141),array("neng",-15140),array("ni",-15139),array("nian",-15128),array("niang",-15121),array("niao",-15119),array("nie",-15117),array("nin",-15110),array("ning",-15109),array("niu",-14941),array("nong",-14937),array("nu",-14933),array("nv",-14930),array("nuan",-14929),array("nue",-14928),array("nuo",-14926),array("o",-14922),array("ou",-14921),array("pa",-14914),array("pai",-14908),array("pan",-14902),array("pang",-14894),array("pao",-14889),array("pei",-14882),array("pen",-14873),array("peng",-14871),array("pi",-14857),array("pian",-14678),array("piao",-14674),array("pie",-14670),array("pin",-14668),array("ping",-14663),array("po",-14654),array("pu",-14645),array("qi",-14630),array("qia",-14594),array("qian",-14429),array("qiang",-14407),array("qiao",-14399),array("qie",-14384),array("qin",-14379),array("qing",-14368),array("qiong",-14355),array("qiu",-14353),array("qu",-14345),array("quan",-14170),array("que",-14159),array("qun",-14151),array("ran",-14149),array("rang",-14145),array("rao",-14140),array("re",-14137),array("ren",-14135),array("reng",-14125),array("ri",-14123),array("rong",-14122),array("rou",-14112),array("ru",-14109),array("ruan",-14099),array("rui",-14097),array("run",-14094),array("ruo",-14092),array("sa",-14090),array("sai",-14087),array("san",-14083),array("sang",-13917),array("sao",-13914),array("se",-13910),array("sen",-13907),array("seng",-13906),array("sha",-13905),array("shai",-13896),array("shan",-13894),array("shang",-13878),array("shao",-13870),array("she",-13859),array("shen",-13847),array("sheng",-13831),array("shi",-13658),array("shou",-13611),array("shu",-13601),array("shua",-13406),array("shuai",-13404),array("shuan",-13400),array("shuang",-13398),array("shui",-13395),array("shun",-13391),array("shuo",-13387),array("si",-13383),array("song",-13367),array("sou",-13359),array("su",-13356),array("suan",-13343),array("sui",-13340),array("sun",-13329),array("suo",-13326),array("ta",-13318),array("tai",-13147),array("tan",-13138),array("tang",-13120),array("tao",-13107),array("te",-13096),array("teng",-13095),array("ti",-13091),array("tian",-13076),array("tiao",-13068),array("tie",-13063),array("ting",-13060),array("tong",-12888),array("tou",-12875),array("tu",-12871),array("tuan",-12860),array("tui",-12858),array("tun",-12852),array("tuo",-12849),array("wa",-12838),array("wai",-12831),array("wan",-12829),array("wang",-12812),array("wei",-12802),array("wen",-12607),array("weng",-12597),array("wo",-12594),array("wu",-12585),array("xi",-12556),array("xia",-12359),array("xian",-12346),array("xiang",-12320),array("xiao",-12300),array("xie",-12120),array("xin",-12099),array("xing",-12089),array("xiong",-12074),array("xiu",-12067),array("xu",-12058),array("xuan",-12039),array("xue",-11867),array("xun",-11861),array("ya",-11847),array("yan",-11831),array("yang",-11798),array("yao",-11781),array("ye",-11604),array("yi",-11589),array("yin",-11536),array("ying",-11358),array("yo",-11340),array("yong",-11339),array("you",-11324),array("yu",-11303),array("yuan",-11097),array("yue",-11077),array("yun",-11067),array("za",-11055),array("zai",-11052),array("zan",-11045),array("zang",-11041),array("zao",-11038),array("ze",-11024),array("zei",-11020),array("zen",-11019),array("zeng",-11018),array("zha",-11014),array("zhai",-10838),array("zhan",-10832),array("zhang",-10815),array("zhao",-10800),array("zhe",-10790),array("zhen",-10780),array("zheng",-10764),array("zhi",-10587),array("zhong",-10544),array("zhou",-10533),array("zhu",-10519),array("zhua",-10331),array("zhuai",-10329),array("zhuan",-10328),array("zhuang",-10322),array("zhui",-10315),array("zhun",-10309),array("zhuo",-10307),array("zi",-10296),array("zong",-10281),array("zou",-10274),array("zu",-10270),array("zuan",-10262),array("zui",-10260),array("zun",-10256),array("zuo",-10254));
    function get_one($num){
        if($num>0&&$num<160){
            return chr($num);
        } elseif ($num<-20319||$num>-10247) {
            return '';
        } else {
            for($i=count($this->data)-1;$i>=0;$i--){if($this->data[$i][1]<=$num)break;}
            return $this->data[$i][0];
        }
    }
    function conver($str) {
        $ret="";
        for($i=0;$i<strlen($str);$i++){
            $p=ord(substr($str,$i,1));
            if($p>160){
                $q=ord(substr($str,++$i,1));
                $p=$p*256+$q-65536;
            }
            $ret.=$this->get_one($p).'&nbsp;';
        }
        return $ret;
    }
}
?>

textclass.php

<?php
class CtbClass {
 var $file='list.txt';
 var $index;
 //建立一個文件並寫入輸入
 function null_write($new)
 {
 $f=fopen($this->file,"w");
  flock($f,LOCK_EX);
  fputs($f,$new);
  fclose($f);
 }
 // 添加數據記錄到文件末端
 function add_write($new) {
  $f=fopen($this->file,"a");
  flock($f,LOCK_EX);
  fputs($f,$new);
  fclose($f);
 }
 // 配合readfile()的返回一起使用,把一行數據轉換為一維數組
 function make_array($line) {
  $array = explode("x0E",$line);
  return $array;
 }
 //把為一維數組轉換一行數據
 function join_array($line) {
  $array = join("x0E",$line);
  return $array;
 }
 // 返回數據文件的總行數
 function getlines() {
  $f=file($this->file);
  return count($f);
 }
 // 返回下一行的數據記錄(備用)
 function next_line() {
  $this->index=$this->index++;
  return $this->get();
 }
 // 返回上一行的數據記錄(備用)
 function prev_line() {
  $this->index=$this->index--;
  return $this->get();
 }
 // 返回當前行的數據記錄數據較小
 function get() {
  $f=fopen($this->file,"r");
  flock($f,LOCK_SH);
  for($i=0;$i<=$this->index;$i++) {
   $rec=fgets($f,1024);
  }
  $line=explode("x0E",$rec);
  fclose($f);
  return $line;
 }
 // 返回當前行的數據記錄數據較大
 function get_big_file() {
  $f=fopen($this->file,"r");
  flock($f,LOCK_SH);
  for($i=0;$i<=$this->index;$i++) {
   $rec=fgets($f,1024*5);
  }
  $line=explode("x0E",$rec);
  fclose($f);
  return $line;
 }
 // 打開數據文件---以一維數組返回文件內容
 function read_file() {
  if (file_exists($this->file)) {
   $line =file($this->file);
  }
 return $line;
 }
 // 打開數據文件---以二維數組返回文件內容
 function openFile() {
  if (file_exists($this->file)) {
   $f =file($this->file);
   $lines = array();
   foreach ($f as $rawline) {
   $tmpline = explode("x0E",$rawline);
   array_push($lines, $tmpline);
   }
  }
  return $lines;
 }
 // 傳入一個數組,合並成一行數據,重寫整個文件
 function overwrite($array){
  $newline = implode("x0E",$array);
  $f = fopen($this->file,"w");
  flock($f,LOCK_EX);
  fputs($f,$newline);
  fclose($f);
 }
 // 添加一行數據記錄到文件末端
 function add_line($array,$check_n=1) {
  $s=implode("x0E",$array);
  $f=fopen($this->file,"a");
  flock($f,LOCK_EX);
  fputs($f,$s);
  if ($check_n==1) fputs($f,"n");
  fclose($f);
 }
 // 插入一行數據記錄到文件最前面
 function insert_line($array) {
  $newfile = implode("x0E",$array);
  $f = fopen($this->file,"r");
  flock($f,LOCK_SH);
  while ($line = fgets($f,1024)) {
   $newfile .= $line;
  }
  fclose($f);
  $f = fopen($this->file,"w");
  flock($f,LOCK_EX);
  fputs($f,$newfile);
  fclose($f);
 }
 // 更新所有符合條件的數據記錄,適用於每行字節數據較大的情況
 function update($column,$query_string,$update_array) {
  $update_string = implode("x0E",$update_array);
  $newfile = "";
  $fc=file($this->file);
  $f=fopen($this->file,"r");
  flock($f,LOCK_SH);
  for ($i=0;$i<count($fc);$i++) {
   $list = explode("x0E",$fc[$i]);
   if ($list[$column] != $query_string) {
    $newfile = $newfile.chop($fc[$i])."n";
   } else {
    $newfile = $newfile.$update_string;
   }
  }
  fclose($f);
  $f=fopen($this->file,"w");
  flock($f,LOCK_EX);
  fputs($f,$newfile);
  fclose($f);
 }
 // 更新所有符合條件的數據記錄,適用於每行字節數據較小的情況
 function update2($column,$query_string,$update_array) {
  $newline = implode("x0E",$update_array);
  $newfile = "";
  $f = fopen($this->file,"r");
  flock($f,LOCK_SH);
  while ($line = fgets($f,1024)) {
   $tmpLine = explode("x0E",$line);
   if ($tmpLine[$column] == $query_string) {
    $newfile .= $newline;
   } else {
    $newfile .= $line;
   }
  }
  fclose($f);
  $f = fopen($this->file,"w");
  flock($f,LOCK_EX);
  fputs($f,$newfile);
  fclose($f);
 }
 // 刪除所有符合條件的數據記錄,適用於每行字節數據較大的情況
 function delete($column,$query_string) {
  $newfile = "";
  $fc=file($this->file);
  $f=fopen($this->file,"r");
  flock($f,LOCK_SH);
  for ($i=0;$i<count($fc);$i++) {
   $list = explode("x0E",$fc[$i]);
   if ($list[$column] != $query_string) {
    $newfile = $newfile.chop($fc[$i])."n";
   }
  }
  fclose($f);
  $f=fopen($this->file,"w");
  flock($f,LOCK_EX);
  fputs($f,$newfile);
  fclose($f);
 }
 // 刪除所有符合條件的數據記錄,適用於每行字節數據較小的情況
 function delete2($column,$query_string){
  $newfile = "";
  $f = fopen($this->file,"r");
  flock($f,LOCK_SH);
  while ($line = fgets($f,1024)) {
   $tmpLine = explode("x0E",$line);
   if ($tmpLine[$column] != $query_string) {
    $newfile .= $line;
   }
  }
  fclose($f);
  $f = fopen($this->file,"w");
  flock($f,LOCK_EX);
  fputs($f,$newfile);
  fclose($f);
 }
 //取得一個文件裡某個字段的最大值
 function get_max_value($column) {
  $tlines = file($this->file);
  for ($i=0;$i<=count($tlines);$i++) {
   $line=explode("x0E",$tlines[$i]);
   $get_value[]=$line[$column];
  }
  $get_max_value = max($get_value);
  return $get_max_value;
 }
 
 // 根據數據文件的某個字段是否包含$query_string進行查詢,以二維數組返回所有符合條件的數據
 function select($column, $query_string) {
  $tline = $this->openfile();
  $lines = array();
  foreach ($tline as $line) {
   if ($line[$column] == $query_string) {
    array_push($lines, $line);
   }
  }
  return $lines;
 }
 // 功能與function select()一樣,速度可能略有提升
 function select2($column, $query_string) {
  if (file_exists($this->file)) {
   $tline = $this->read_file();
   foreach ($tline as $tmpLine) {
    $line = $this->make_array($tmpLine);
    if ($line[$column] == $query_string) {
     $lines[]=$tmpLine;
    }
   }
  }
  return $lines;
 }
 // 根據數據文件的某個字段是否包含$query_string進行查詢,以一維數組返回第一個符合條件的數據
 function select_line($column, $query_string) {
  $tline = $this->read_file();
  foreach ($tline as $tmpLine) {
   $line = $this->make_array($tmpLine);
   if ($line[$column] == $query_string) {
    return $line;
    break;
   }
  }
 }
 // select next/prev line(next_prev ==> 1/next, 2/prev) by cx
 function select_next_prev_line($column, $query_string, $next_prev) {
  $tline = $this->read_file();
  $line_key_end = count($tline) - 1;
  $line_key = -1;
  foreach ($tline as $tmpLine) {
   $line_key++;
   $line = $this->make_array($tmpLine);
   if ($next_prev == 1) { // next?
    if ($line[$column] == $query_string) {
     if ($line_key == 0) {
      return 0;
     } else {
      $line_key_up = $line_key - 1;
      return $up_line;
     }
    } else {
     $up_line = $line;
    }
   } elseif ($next_prev == 2) { // prev?
    if ($line[$column] == $query_string) {
     if ($line_key == $line_key_end) {
      return 0;
     } else {
      $line_key_down = $line_key + 1;
      break;
     }
    }
   } else {
    return 0;
   }
  }
  $down_line = $this->make_array($tline[$line_key_down]);
  return $down_line;
 }

}

$file=fopen('list.txt',"a+");
if($file == FALSE)exit('<font color=red>無法創建或者打開list.txt</font>');

function __urljudge($url){
 $suffixes="com|net|org|gov|biz|com.tw|com.hk|com.ru|net.tw|net.hk|net.ru|info|cn|com.cn|net.cn|org.cn|gov.cn|mobi|name|sh|ac|la|travel|tm|us|cc|tv|jobs|asia|hn|lc|hk|bz|com.hk|ws|tel|io|tw|ac.cn|bj.cn|sh.cn|tj.cn|cq.cn|he.cn|sx.cn|nm.cn|ln.cn|jl.cn|hl.cn|js.cn|zj.cn|ah.cn|fj.cn|jx.cn|sd.cn|ha.cn|hb.cn|hn.cn|gd.cn|gx.cn|hi.cn|sc.cn|gz.cn|yn.cn|xz.cn|sn.cn|gs.cn|qh.cn|nx.cn|xj.cn|tw.cn|hk.cn|mo.cn|org.hk";
 if(!eregi("^(www.)?([A-Za-z0-9-])+.($suffixes)$",$url)){
  echo "<script language='javascript'>alert('您輸入的網址不符合規格,請重新輸入!');</script>";
  exit;
 }else {return $url;}
}

function get_real_ip(){
 $ip=false;
 if(!empty($_SERVER["HTTP_CLIENT_IP"])){
  $ip = $_SERVER["HTTP_CLIENT_IP"];
 }
 if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) {
  $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']);
  if ($ip) { array_unshift($ips, $ip); $ip = FALSE; }
  for ($i = 0; $i < count($ips); $i++) {
   if (!eregi ("^(10|172.16|192.168).", $ips[$i])) {
    $ip = $ips[$i];
    break;
   }
  }
 }
 return ($ip ? $ip : $_SERVER['REMOTE_ADDR']);
}

$ip=get_real_ip();

$text_class=new CtbClass();

$date=mktime (date(H)-24, date(i), date(s), date(m), date(d), date(Y));

$history=$text_class->openFile();
for ($i=0;$i<count($history);$i++){
 if ($history[$i][2] < $date){
  $text_class->delete2(2,$history[$i][2]);
 }
}
?>

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved