php漢字轉化拼音領域博主,php 漢字轉拼音

本文目錄一覽:

如何做網站php漢字轉拼音帶有聲調和無聲調

1、如果你用過smarty模板引擎、MVC類似框架如tp,那麼你自己寫一個框架噢!

2、你要對php的繼承實現以及其中的小知識點熟知;

3、先列出你的框架目錄,什麼地方放什麼,然後寫你的配置文件

4、用到的高頻函數有:require 、 require_once 、 file_exites等!

如:sybase_connect連上資料庫。

語法: int sybase_connect(string [servername], string [username], string [password]);

返回值: 整數函數種類: 資料庫功能 本函數用來打開與 Sybase 資料庫的連接。

參數 servername 為欲連上的資料庫伺服器名稱。

參數 username 及 password 可省略,分別為連接使用的帳號及密碼。

使用本函數需注意早點關閉資料庫,以減少系統的負擔。

連接成功則返回資料庫的連接代號,失敗返回 false 值。

PHP 中文轉拼音並首字母大寫

?php

function getfirstchar($s0){   

    $fchar = ord($s0{0});

    if($fchar = ord(“A”) and $fchar = ord(“z”) )return strtoupper($s0{0});

    $s1 = iconv(“UTF-8″,”gb2312”, $s0);

    $s2 = iconv(“gb2312″,”UTF-8”, $s1);

    if($s2 == $s0){$s = $s1;}else{$s = $s0;}

    $asc = ord($s{0}) * 256 + ord($s{1}) – 65536;

    if($asc = -20319 and $asc = -20284) return “A”;

    if($asc = -20283 and $asc = -19776) return “B”;

    if($asc = -19775 and $asc = -19219) return “C”;

    if($asc = -19218 and $asc = -18711) return “D”;

    if($asc = -18710 and $asc = -18527) return “E”;

    if($asc = -18526 and $asc = -18240) return “F”;

    if($asc = -18239 and $asc = -17923) return “G”;

    if($asc = -17922 and $asc = -17418) return “H”;

    if($asc = -17417 and $asc = -16475) return “J”;

    if($asc = -16474 and $asc = -16213) return “K”;

    if($asc = -16212 and $asc = -15641) return “L”;

    if($asc = -15640 and $asc = -15166) return “M”;

    if($asc = -15165 and $asc = -14923) return “N”;

    if($asc = -14922 and $asc = -14915) return “O”;

    if($asc = -14914 and $asc = -14631) return “P”;

    if($asc = -14630 and $asc = -14150) return “Q”;

    if($asc = -14149 and $asc = -14091) return “R”;

    if($asc = -14090 and $asc = -13319) return “S”;

    if($asc = -13318 and $asc = -12839) return “T”;

    if($asc = -12838 and $asc = -12557) return “W”;

    if($asc = -12556 and $asc = -11848) return “X”;

    if($asc = -11847 and $asc = -11056) return “Y”;

    if($asc = -11055 and $asc = -10247) return “Z”;

    return null;

}

function make_semiangle($str){

    $arr = array(‘0’ = ‘0’, ‘1’ = ‘1’, ‘2’ = ‘2’, ‘3’ = ‘3’, ‘4’ = ‘4’, ‘5’ = ‘5’, ‘6’ = ‘6’, ‘7’ = ‘7’, ‘8’ = ‘8’, ‘9’ = ‘9’, ‘A’ = ‘A’, ‘B’ = ‘B’, ‘C’ = ‘C’, ‘D’ = ‘D’, ‘E’ = ‘E’, ‘F’ = ‘F’, ‘G’ = ‘G’, ‘H’ = ‘H’, ‘I’ = ‘I’, ‘J’ = ‘J’, ‘K’ = ‘K’, ‘L’ = ‘L’, ‘M’ = ‘M’, ‘N’ = ‘N’, ‘O’ = ‘O’, ‘P’ = ‘P’, ‘Q’ = ‘Q’, ‘R’ = ‘R’, ‘S’ = ‘S’, ‘T’ = ‘T’, ‘U’ = ‘U’, ‘V’ = ‘V’, ‘W’ = ‘W’, ‘X’ = ‘X’, ‘Y’ = ‘Y’, ‘Z’ = ‘Z’, ‘a’ = ‘a’, ‘b’ = ‘b’, ‘c’ = ‘c’, ‘d’ = ‘d’, ‘e’ = ‘e’, ‘f’ = ‘f’, ‘g’ = ‘g’, ‘h’ = ‘h’, ‘i’ = ‘i’, ‘j’ = ‘j’, ‘k’ = ‘k’, ‘l’ = ‘l’, ‘m’ = ‘m’, ‘n’ = ‘n’, ‘o’ = ‘o’, ‘p’ = ‘p’, ‘q’ = ‘q’, ‘r’ = ‘r’, ‘s’ = ‘s’, ‘t’ = ‘t’, ‘u’ = ‘u’, ‘v’ = ‘v’, ‘w’ = ‘w’, ‘x’ = ‘x’, ‘y’ = ‘y’, ‘z’ = ‘z’, ‘(’ = ‘(‘, ‘)’ = ‘)’, ‘〔’ = ‘[‘, ‘〕’ = ‘]’, ‘【’ = ‘[‘, ‘】’ = ‘]’, ‘〖’ = ‘[‘, ‘〗’ = ‘]’, ‘「’ = ‘”‘, ‘」’ = ‘”‘, ‘『’ = ‘\”, ‘』’ = ‘\”, ‘{’ = ‘{‘, ‘}’ = ‘}’, ‘《’ = ”, ‘》’ = ”, ‘%’ = ‘%’, ‘+’ = ‘+’, ‘—’ = ‘-‘, ‘-’ = ‘-‘, ‘~’ = ‘-‘, ‘:’ = ‘:’, ‘。’ = ‘.’, ‘、’ = ‘,’, ‘,’ = ‘,’, ‘;’ = ‘;’, ‘?’ = ‘?’, ‘!’ = ‘!’, ‘…’ = ‘…’, ‘‖’ = ‘|’, ‘|’ = ‘|’, ‘〃’ = ‘”‘, ‘ ’ = ‘ ‘);

    return strtr($str, $arr);

}

function pinyin1($zh){

    $zh = make_semiangle($zh);

    $ret = “”;

    $s1 = iconv(“UTF-8″,”gb2312”, $zh);

    $s2 = iconv(“gb2312″,”UTF-8”, $s1);

    if($s2 == $zh){$zh = $s1;}

    for($i = 0; $i  strlen($zh); $i++){

        $s1 = substr($zh,$i,1);

        $p = ord($s1);

        if($p  160){

            $s2 = substr($zh,$i++,2);

            $ret .= getfirstchar($s2);

        }else{

            $ret .= $s1;

        }

    }

    return $ret;

}

//用法

echo pinyin1(‘中文獲取首字母大寫,『支持』全形「的」轉化!’);

?

數字跟英文的全形被百度自動轉了,如果需要下載附件源碼

php 中文轉拼音首字母問題

原始代碼有些問題,我做了些更改,原地址github 的 chenall/chenall/blob/master/php/tools/ZH-cn_TO_pinyin.php

?php

/*

    中文漢字轉拼音首字母的PHP簡易實現方法.

    要求: 只能是GB2312碼錶裡面中文字元

    轉換得到字元串對應的拼音首字母大寫.

    用法:

    echo zh2py::conv(‘Chinese 中華人民共和國’);//Chinese ZHRMGHG

    或

    $py = new zh2py;

    echo $py-conv(‘Chinese 中華人民共和國’);//Chinese ZHRMGHG

*/

class zh2py

{

    //根據漢字區位表

    //我們可以看到從16-55區之間是按拼音字母排序的,所以我們只需要判斷某個漢字的區位碼就可以得知它的拼音首字母.

    //區位表第一部份,按拼音字母排序的.

    //16區-55區

    /*

        ‘A’=0xB0A1, ‘B’=0xB0C5, ‘C’=0xB2C1, ‘D’=0xB4EE, ‘E’=0xB6EA, ‘F’=0xB7A2, ‘G’=0xB8C1,’H’=0xB9FE,

    ‘J’=0xBBF7, ‘K’=0xBFA6, ‘L’=0xC0AC, ‘M’=0xC2E8, ‘N’=0xC4C3, ‘O’=0xC5B6, ‘P’=0xC5BE,’Q’=0xC6DA,

    ‘R’=0xC8BB, ‘S’=0xC8F6, ‘T’=0xCBFA, ‘W’=0xCDDA, ‘X’=0xCEF4, ‘Y’=0xD1B9, ‘Z’=0xD4D1

    */

    private static $FirstTable = array(

    0xB0C5, 0xB2C1, 0xB4EE, 0xB6EA, 0xB7A2, 0xB8C1, 0xB9FE, 0xBBF7, 0xBFA6, 0xC0AC, 0xC2E8,

    0xC4C3, 0xC5B6, 0xC5BE, 0xC6DA, 0xC8BB, 0xC8F6, 0xCBFA, 0xCDDA, 0xCEF4, 0xD1B9, 0xD4D1,0xD7FA

    );

    private static $FirstLetter = “ABCDEFGHJKLMNOPQRSTWXYZ”;

    //區位表第二部份,不規則的,下面的字母是每個區裡面對應字的拼音首字母.從網上查詢整理出來的,可能會有部份錯誤.

    //56區-87區

    private static $SecondTable = array(

        “CJWGNSPGCGNEGYPBTYYZDXYKYGTZJNMJQMBSGZSCYJSYYFPGKBZGYDYWJKGKLJSWKPJQHYJWRDZLSYMRYPYWWCCKZNKYYG”,

        “TTNGJEYKKZYTCJNMCYLQLYPYSFQRPZSLWBTGKJFYXJWZLTBNCXJJJJTXDTTSQZYCDXXHGCKBPHFFSSTYBGMXLPBYLLBHLX”,

        “SMZMYJHSOJNGHDZQYKLGJHSGQZHXQGKXZZWYSCSCJXYEYXADZPMDSSMZJZQJYZCJJFWQJBDZBXGZNZCPWHWXHQKMWFBPBY”,

        “DTJZZKXHYLYGXFPTYJYYZPSZLFCHMQSHGMXXSXJYQDCSBBQBEFSJYHWWGZKPYLQBGLDLCDTNMAYDDKSSNGYCSGXLYZAYPN”,

        “PTSDKDYLHGYMYLCXPYCJNDQJWXQXFYYFJLEJPZRXCCQWQQSBZKYMGPLBMJRQCFLNYMYQMSQYRBCJTHZTQFRXQHXMQJCJLY”,

        “QGJMSHZKBSWYEMYLTXFSYDXWLYCJQXSJNQBSCTYHBFTDCYZDJWYGHQFRXWCKQKXEBPTLPXJZSRMEBWHJLBJSLYYSMDXLCL”,

        “QKXLHXJRZJMFQHXHWYWSBHTRXXGLHQHFNMGYKLDYXZPYLGGSMTCFBAJJZYLJTYANJGBJPLQGSZYQYAXBKYSECJSZNSLYZH”,

        “ZXLZCGHPXZHZNYTDSBCJKDLZAYFFYDLEBBGQYZKXGLDNDNYSKJSHDLYXBCGHXYPKDJMMZNGMMCLGWZSZXZJFZNMLZZTHCS”,

        “YDBDLLSCDDNLKJYKJSYCJLKWHQASDKNHCSGAGHDAASHTCPLCPQYBSZMPJLPCJOQLCDHJJYSPRCHNWJNLHLYYQYYWZPTCZG”,

        “WWMZFFJQQQQYXACLBHKDJXDGMMYDJXZLLSYGXGKJRYWZWYCLZMSSJZLDBYDCFCXYHLXCHYZJQSQQAGMNYXPFRKSSBJLYXY”,

        “SYGLNSCMHCWWMNZJJLXXHCHSYZSTTXRYCYXBYHCSMXJSZNPWGPXXTAYBGAJCXLYXDCCWZOCWKCCSBNHCPDYZNFCYYTYCKX”,

        “KYBSQKKYTQQXFCMCHCYKELZQBSQYJQCCLMTHSYWHMKTLKJLYCXWHEQQHTQKZPQSQSCFYMMDMGBWHWLGSLLYSDLMLXPTHMJ”,

        “HWLJZYHZJXKTXJLHXRSWLWZJCBXMHZQXSDZPSGFCSGLSXYMJSHXPJXWMYQKSMYPLRTHBXFTPMHYXLCHLHLZYLXGSSSSTCL”,

        “SLDCLRPBHZHXYYFHBMGDMYCNQQWLQHJJCYWJZYEJJDHPBLQXTQKWHLCHQXAGTLXLJXMSLJHTZKZJECXJCJNMFBYCSFYWYB”,

        “JZGNYSDZSQYRSLJPCLPWXSDWEJBJCBCNAYTWGMPAPCLYQPCLZXSBNMSGGFNZJJBZSFZYNTXHPLQKZCZWALSBCZJXSYZGWK”,

        “YPSGXFZFCDKHJGXTLQFSGDSLQWZKXTMHSBGZMJZRGLYJBPMLMSXLZJQQHZYJCZYDJWFMJKLDDPMJEGXYHYLXHLQYQHKYCW”,

        “CJMYYXNATJHYCCXZPCQLBZWWYTWBQCMLPMYRJCCCXFPZNZZLJPLXXYZTZLGDLTCKLYRZZGQTTJHHHJLJAXFGFJZSLCFDQZ”,

        “LCLGJDJZSNZLLJPJQDCCLCJXMYZFTSXGCGSBRZXJQQCTZHGYQTJQQLZXJYLYLBCYAMCSTYLPDJBYREGKLZYZHLYSZQLZNW”,

        “CZCLLWJQJJJKDGJZOLBBZPPGLGHTGZXYGHZMYCNQSYCYHBHGXKAMTXYXNBSKYZZGJZLQJTFCJXDYGJQJJPMGWGJJJPKQSB”,

        “GBMMCJSSCLPQPDXCDYYKYPCJDDYYGYWRHJRTGZNYQLDKLJSZZGZQZJGDYKSHPZMTLCPWNJYFYZDJCNMWESCYGLBTZZGMSS”,

        “LLYXYSXXBSJSBBSGGHFJLYPMZJNLYYWDQSHZXTYYWHMCYHYWDBXBTLMSYYYFSXJCBDXXLHJHFSSXZQHFZMZCZTQCXZXRTT”,

        “DJHNRYZQQMTQDMMGNYDXMJGDXCDYZBFFALLZTDLTFXMXQZDNGWQDBDCZJDXBZGSQQDDJCMBKZFFXMKDMDSYYSZCMLJDSYN”,

        “SPRSKMKMPCKLGTBQTFZSWTFGGLYPLLJZHGJJGYPZLTCSMCNBTJBQFKDHBYZGKPBBYMTDSSXTBNPDKLEYCJNYCDYKZTDHQH”,

        “SYZSCTARLLTKZLGECLLKJLQJAQNBDKKGHPJTZQKSECSHALQFMMGJNLYJBBTMLYZXDXJPLDLPCQDHZYCBZSCZBZMSLJFLKR”,

        “ZJSNFRGJHXPDHYJYBZGDLQCSEZGXLBLGYXTWMABCHECMWYJYZLLJJYHLGNDJLSLYGKDZPZXJYYZLWCXSZFGWYYDLYHCLJS”,

        “CMBJHBLYZLYCBLYDPDQYSXQZBYTDKYXJYYCNRJMPDJGKLCLJBCTBJDDBBLBLCZQRPYXJCJLZCSHLTOLJNMDDDLNGKATHQH”,

        “JHYKHEZNMSHRPHQQJCHGMFPRXHJGDYCHGHLYRZQLCYQJNZSQTKQJYMSZSWLCFQQQXYFGGYPTQWLMCRNFKKFSYYLQBMQAMM”,

        “MYXCTPSHCPTXXZZSMPHPSHMCLMLDQFYQXSZYJDJJZZHQPDSZGLSTJBCKBXYQZJSGPSXQZQZRQTBDKYXZKHHGFLBCSMDLDG”,

        “DZDBLZYYCXNNCSYBZBFGLZZXSWMSCCMQNJQSBDQSJTXXMBLTXZCLZSHZCXRQJGJYLXZFJPHYMZQQYDFQJJLZZNZJCDGZYG”,

        “CTXMZYSCTLKPHTXHTLBJXJLXSCDQXCBBTJFQZFSLTJBTKQBXXJJLJCHCZDBZJDCZJDCPRNPQCJPFCZLCLZXZDMXMPHJSGZ”,

        “GSZZQLYLWTJPFSYASMCJBTZYYCWMYTZSJJLJCQLWZMALBXYFBPNLSFHTGJWEJJXXGLLJSTGSHJQLZFKCGNNNSZFDEQFHBS”,

        “AQTGYLBXMMYGSZLDYDQMJJRGBJTKGDHGKBLQKBDMBYLXWCXYTTYBKMRTJZXQJBHLMHMJJZMQASLDCYXYQDLQCAFYWYXQHZ”,

        );

    public static function utf8_to_gbk($string)//編碼轉換,必須轉換成GB2312字元,這裡只是簡單的判斷並不是很準確,可以自己寫一個.

    {

    if (mb_check_encoding($string,’gb2312′))

        return $string;

    if (function_exists(‘iconv’))

        return iconv(“utf-8″,”gb2312//IGNORE”,$string);

    return mb_convert_encoding($string,’gb2312′,’utf-8′); 

    }

    public static function conv($str)

    {

    $str = self::utf8_to_gbk($str);

    $len = strlen($str);

    $newStr = ”;

    for($i=0; $i$len ; ++$i)

    {

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

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

        //字符集非法

        if ($H  0xB0 ||  $L  0xA1 || $H  0xF7 || $L == 0xFF)

        {

        $newStr .= $str[$i];

        continue;

        }

        if ($H  0xD8)//($H = 0xB0  $H =0xD7)//查詢文字在一級漢字區(16-55)

        {

        $W = ($H  8) | $L;

        foreach(self::$FirstTable as $key=$value)

        {

            if ($W  $value)

            {

            $newStr .= self::$FirstLetter[$key];

            break;

            }

        }

        }

        else// if (H = 0xD8  H = 0xF7)//查詢中文在二級漢字區(56-87)

        $newStr .=self::$SecondTable[$H – 0xD8][$L-0xA1];

        ++$i;

    }

    return $newStr;

    }

}

echo zh2py::conv(‘妃’);//F

PHP漢字轉拼音?如何把每個漢字拆分出來?

使用explode就可以,例如:

?php

$s=’阿a,啊a,茬cha,茶cha,嵖cha’;

foreach(explode(‘,’,$s) as $code){

$ch=substr($code,0,2);

$code=substr($code,2);

echo “$ch\t$codebr\n”;

}

?

php漢字轉拼音問題 下

你使用的模版技術吧。

模版技術實際上是把頁面中所有 {?$pinyin?} 轉換 為 ?php $pinyin ?對吧?

也就是把{? 轉換為 ?php

把?}轉換為 ? 。

有可能是你的{? 或 ?}也頁面中的function {}衝突。

比如

……

return $restr;

}?

你的模版頁面我沒看到~所以不確定是不是這個問題。你可以換個模版標識試試。

如果在其他頁面中function可以使用,說明這個function沒問題,你就在模版頁下手就行了。

php字元串對應替換(把一些拼音換成對應的漢字)

PHP str_ireplace() 函數使用一個字元串替換字元串中的另一些字元。

?php

$find = “anyang”;

$replace = “安陽”;

$arr = “anyang測試anyang”;

$newstr = str_ireplace($find,$replace,$arr);

echo $newstr;

?

使用這個str_ireplace()就能替換了,而且還不用擔心大小寫問題,如果不用考慮大小寫那就使用str_replace()即可!

參數如下:

str_ireplace(find,replace,string,count)

參數 描述

find 必需。規定要查找的值。

replace 必需。規定替換 find 中的值的值。

string 必需。規定被搜索的字元串。

count 可選。一個變數,對替換數進行計數。

歡迎採納!

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/258160.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-15 12:48
下一篇 2024-12-15 12:48

相關推薦

  • PHP和Python哪個好找工作?

    PHP和Python都是非常流行的編程語言,它們被廣泛應用於不同領域的開發中。但是,在考慮擇業方向的時候,很多人都會有一個問題:PHP和Python哪個好找工作?這篇文章將從多個方…

    編程 2025-04-29
  • Python在化學領域的應用

    Python作為一種強大的編程語言,其應用已經遍布各個領域,包括了化學。在化學研究中,Python不僅可以完成數據處理和可視化等任務,還可以幫助化學家們進行計算、建模和模擬等工作。…

    編程 2025-04-29
  • 進擊的漢字拆字窗

    進擊的漢字拆字窗是一款非常有用的中文工具,它可以幫助人們更好的學習漢字,了解漢字的含義,以及更好的了解漢字在中文中的運用和意義。 一、功能介紹 進擊的漢字拆字窗主要有以下幾個功能:…

    編程 2025-04-29
  • PHP怎麼接幣

    想要在自己的網站或應用中接受比特幣等加密貨幣的支付,就需要對該加密貨幣擁有一定的了解,並使用對應的API進行開發。本文將從多個方面詳細闡述如何使用PHP接受加密貨幣的支付。 一、環…

    編程 2025-04-29
  • 如何在Python中輸出漢字和數字

    本文將從多個方面詳細介紹如何在Python中輸出漢字和數字,並提供代碼示例。 一、輸出漢字 要在Python中輸出漢字,需要先確保Python默認編碼是utf-8,這可以通過在代碼…

    編程 2025-04-28
  • 使用PHP foreach遍歷有相同屬性的值

    本篇文章將介紹如何使用PHP foreach遍歷具有相同屬性的值,並給出相應的代碼示例。 一、基礎概念 在講解如何使用PHP foreach遍歷有相同屬性的值之前,我們需要先了解幾…

    編程 2025-04-28
  • PHP獲取301跳轉後的地址

    本文將為大家介紹如何使用PHP獲取301跳轉後的地址。301重定向是什麼呢?當我們訪問一個網頁A,但是它已經被遷移到了另一個地址B,此時若伺服器端做了301重定向,那麼你的瀏覽器在…

    編程 2025-04-27
  • Python中Turtle怎麼寫漢字

    Python中Turtle庫是一個在Python中用於繪製矢量圖形的庫。大多數場景下我們使用Turtle庫繪製的圖形是幾何圖形,但是在一些特殊的場景下,我們也可以使用Turtle庫…

    編程 2025-04-27
  • PHP登錄頁面代碼實現

    本文將從多個方面詳細闡述如何使用PHP編寫一個簡單的登錄頁面。 1. PHP登錄頁面基本架構 在PHP登錄頁面中,需要包含HTML表單,用戶在表單中輸入賬號密碼等信息,提交表單後服…

    編程 2025-04-27
  • 怎樣解決 LaTeX 演算法\require 不顯示漢字的問題

    在使用 LaTeX 進行編程過程中,經常出現一個問題就是演算法與漢字的相互顯示問題,其中最常見的問題是演算法中漢字不顯示,這給編程帶來了很多麻煩。下面將從多個方面對這一問題進行詳細的解…

    編程 2025-04-27

發表回復

登錄後才能評論