① php字元串首字母大寫 如
執行效果:
<?php
$in="hellohello,hello-hello,hello/hello";
$out=preg_replace_callback('/([^a-zA-Z][a-z])/',
create_function(
'$m',
'returnstrtoupper($m[0]);'
),
ucfirst($in));
echo"$in
$out
";
?>
② [php教程]如何用PHP實現取字元的首字母
<?php
functiongetfirstchar($s0){
$c=ereg('[a-zA-Z]',strtoupper(substr($s0,0,1)));
if($c){
returnstrtoupper(substr($s0,0,1));
}else{
if($fchar>=ord("a")and$fchar<=ord("Z"))returnstrtoupper($s0{0});
if(is_numeric(substr($s0,0,1))){
$s0=ToChinaseNum(substr($s0,0,1));
}
$s=$s0;
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319and$asc<=-20284)return"A";
if($asc>=-20283and$asc<=-19776)return"B";
if($asc>=-19775and$asc<=-19219)return"C";
if($asc>=-19218and$asc<=-18711)return"D";
if($asc>=-18710and$asc<=-18527)return"E";
if($asc>=-18526and$asc<=-18240)return"F";
if($asc>=-18239and$asc<=-17923)return"G";
if($asc>=-17922and$asc<=-17418)return"H";
if($asc>=-17417and$asc<=-16475)return"J";
if($asc>=-16474and$asc<=-16213)return"K";
if($asc>=-16212and$asc<=-15641)return"L";
if($asc>=-15640and$asc<=-15166)return"M";
if($asc>=-15165and$asc<=-14923)return"N";
if($asc>=-14922and$asc<=-14915)return"O";
if($asc>=-14914and$asc<=-14631)return"P";
if($asc>=-14630and$asc<=-14150)return"Q";
if($asc>=-14149and$asc<=-14091)return"R";
if($asc>=-14090and$asc<=-13319)return"S";
if($asc>=-13318and$asc<=-12839)return"T";
if($asc>=-12838and$asc<=-12557)return"W";
if($asc>=-12556and$asc<=-11848)return"X";
if($asc>=-11847and$asc<=-11056)return"Y";
if($asc>=-11055and$asc<=-10247)return"Z";
returnnull;
}
}
functionToChinaseNum($num)
{
$char=array("零","一","二","三","四","五","六","七","八","九");
$dw=array("","十","百","千","萬","億","兆");
$retval="";
$proZero=false;
for($i=0;$i<strlen($num);$i++)
{
if($i>0)$temp=(int)(($num%pow(10,$i+1))/pow(10,$i));
else$temp=(int)($num%pow(10,1));
if($proZero==true&&$temp==0)continue;
if($temp==0)$proZero=true;
else$proZero=false;
if($proZero)
{
if($retval=="")continue;
$retval=$char[$temp].$retval;
}
else$retval=$char[$temp].$dw[$i].$retval;
}
if($retval=="一十")$retval="十";
return$retval;
}
var_mp(getfirstchar("89ssss"));
?>
③ 請問thinkphp中,姓名按字母順序排序應該怎麼寫是漢字的,而且名字需要剪切,是在欄位中的冒號後的。
弄個欄位,你插入資料庫的時候把字母弄進去
④ php中怎樣獲取漢字拼音的首字母
//漢字轉拼音(生僻字不支持)
$pinyin=$this->utf8_to("我是中文");
//漢字轉拼音(生僻字不支持)
function(){
echo$this->utf8_to("我是個好人");
}
/**
*以下是中文轉拼音
*@param$s
*@parambool$isfirst
*@returnstring
*/
publicstaticfunctionutf8_to($s,$isfirst=false){
returnself::to(self::utf8_to_gb2312($s),$isfirst);
}
publicstaticfunctionutf8_to_gb2312($s){
returniconv('UTF-8','GB2312//IGNORE',$s);
}
//字元串必須為GB2312編碼
publicstaticfunctionto($s,$isfirst=false){
$res='';
$len=strlen($s);
$pinyin_arr=self::get_pinyin_array();
for($i=0;$i<$len;$i++){
$ascii=ord($s{$i});
if($ascii>0x80){
$ascii2=ord($s{++$i});
$ascii=$ascii*256+$ascii2-65536;
}
if($ascii<255&&$ascii>0){
if(($ascii>=48&&$ascii<=57)||($ascii>=97&&$ascii<=122)){
$res.=$s{$i};//0-9a-z
}elseif($ascii>=65&&$ascii<=90){
$res.=strtolower($s{$i});//A-Z
}else{
$res.='_';
}
}elseif($ascii<-20319||$ascii>-10247){
$res.='_';
}else{
foreach($pinyin_arras$py=>$asc){
if($asc<=$ascii){
$res.=$isfirst?$py{0}:$py;
break;
}
}
}
}
return$res;
}
publicstaticfunctionto_first($s){
$ascii=ord($s{0});
if($ascii>0xE0){
$s=self::utf8_to_gb2312($s{0}.$s{1}.$s{2});
}elseif($ascii<0x80){
if($ascii>=65&&$ascii<=90){
returnstrtolower($s{0});
}elseif($ascii>=97&&$ascii<=122){
return$s{0};
}else{
returnfalse;
}
}
if(strlen($s)<2){
returnfalse;
}
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319&&$asc<=-20284)return'a';
if($asc>=-20283&&$asc<=-19776)return'b';
if($asc>=-19775&&$asc<=-19219)return'c';
if($asc>=-19218&&$asc<=-18711)return'd';
if($asc>=-18710&&$asc<=-18527)return'e';
if($asc>=-18526&&$asc<=-18240)return'f';
if($asc>=-18239&&$asc<=-17923)return'g';
if($asc>=-17922&&$asc<=-17418)return'h';
if($asc>=-17417&&$asc<=-16475)return'j';
if($asc>=-16474&&$asc<=-16213)return'k';
if($asc>=-16212&&$asc<=-15641)return'l';
if($asc>=-15640&&$asc<=-15166)return'm';
if($asc>=-15165&&$asc<=-14923)return'n';
if($asc>=-14922&&$asc<=-14915)return'o';
if($asc>=-14914&&$asc<=-14631)return'p';
if($asc>=-14630&&$asc<=-14150)return'q';
if($asc>=-14149&&$asc<=-14091)return'r';
if($asc>=-14090&&$asc<=-13319)return's';
if($asc>=-13318&&$asc<=-12839)return't';
if($asc>=-12838&&$asc<=-12557)return'w';
if($asc>=-12556&&$asc<=-11848)return'x';
if($asc>=-11847&&$asc<=-11056)return'y';
if($asc>=-11055&&$asc<=-10247)return'z';
returnfalse;
}
publicstaticfunctionget_pinyin_array(){
static$py_arr;
if(isset($py_arr))return$py_arr;
$k='a|ai|an|ang|ao|ba||ban|bang|bao|bei|ben|beng|bi|bian|biao|bie|bin|bing|bo|bu|ca|cai|can|cang|cao|ce|ceng|cha|chai|chan|chang|chao|che|chen|cheng|chi|chong|chou|chu|chuai|chuan|chuang|chui|chun|chuo|ci|cong|cou|cu|cuan|cui|cun|cuo|da|dai|dan|dang||de|deng|di|dian|diao|die|ding|diu|dong|dou||an|i|n|o|e|en|er|fa|fan|fang|fei|fen|feng|fo|fou|fu|ga|gai|gan|gang|gao|ge|gei|gen|geng|gong|gou|gu|gua|guai|guan|guang|gui|gun|guo|ha|hai|han|hang|hao|he|hei|hen|heng|hong|hou|hu|hua|huai|huan|huang|hui|hun|huo|ji|jia|jian|jiang|jiao|jie|jin|jing|jiong|jiu|ju|juan|jue|jun|ka|kai|kan|kang|kao|ke|ken|keng|kong|kou|ku|kua|kuai|kuan|kuang|kui|kun|kuo|la|lai|lan|lang|lao|le|lei|leng|li|lia|lian|liang|liao|lie|lin|ling|liu|long|lou|lu|lv|luan|lue|lun|luo|ma|mai|man|mang|mao|me|mei|men|meng|mi|mian|miao|mie|min|ming|miu|mo|mou|mu|na|nai|nan|nang|nao|ne|nei|nen|neng|ni|nian|niang|niao|nie|nin|ning|niu|nong|nu|nv|nuan|nue|nuo|o|ou|pa|pai|pan|pang|pao|pei|pen|peng|pi|pian|piao|pie|pin|ping|po|pu|qi|qia|qian|qiang|qiao|qie|qin|qing|qiong|qiu|qu|quan|que|qun|ran|rang|rao|re|ren|reng|ri|rong|rou|ru|ruan|rui|run|ruo|sa|sai|san|sang|sao|se|sen|seng|sha|shai|shan|shang|shao|she|shen|sheng|shi|shou|shu|shua|shuai|shuan|shuang|shui|shun|shuo|si|song|sou|su|suan|sui|sun|suo|ta|tai|tan|tang|tao|te|teng|ti|tian|tiao|tie|ting|tong|tou|tu|tuan|tui|tun|tuo|wa|wai|wan|wang|wei|wen|weng|wo|wu|xi|xia|xian|xiang|xiao|xie|xin|xing|xiong|xiu|xu|xuan|xue|xun|ya|yan|yang|yao|ye|yi|yin|ying|yo|yong|you|yu|yuan|yue|yun|za|zai|zan|zang|zao|ze|zei|zen|zeng|zha|zhai|zhan|zhang|zhao|zhe|zhen|zheng||zhong|zhou|zhu|zhua|zhuai|zhuan|zhuang|zhui|zhun|zhuo|zi|zong|zou|zu|zuan|zui|zun|zuo';
$v='-20319|-20317|-20304|-20295|-20292|-20283|-20265|-20257|-20242|-20230|-20051|-20036|-20032|-20026|-20002|-19990|-19986|-19982|-19976|-19805|-19784|-19775|-19774|-19763|-19756|-19751|-19746|-19741|-19739|-19728|-19725|-19715|-19540|-19531|-19525|-19515|-19500|-19484|-19479|-19467|-19289|-19288|-19281|-19275|-19270|-19263|-19261|-19249|-19243|-19242|-19238|-19235|-19227|-19224|-19218|-19212|-19038|-19023|-19018|-19006|-19003|-18996|-18977|-18961|-18952|-18783|-18774|-18773|-18763|-18756|-18741|-18735|-18731|-18722|-18710|-18697|-18696|-18526|-18518|-18501|-18490|-18478|-18463|-18448|-18447|-18446|-18239|-18237|-18231|-18220|-18211|-18201|-18184|-18183|-18181|-18012|-17997|-17988|-17970|-17964|-17961|-17950|-17947|-17931|-17928|-17922|-17759|-17752|-17733|-17730|-17721|-17703|-17701|-17697|-17692|-17683|-17676|-17496|-17487|-17482|-17468|-17454|-17433|-17427|-17417|-17202|-17185|-16983|-16970|-16942|-16915|-16733|-16708|-16706|-16689|-16664|-16657|-16647|-16474|-16470|-16465|-16459|-16452|-16448|-16433|-16429|-16427|-16423|-16419|-16412|-16407|-16403|-16401|-16393|-16220|-16216|-16212|-16205|-16202|-16187|-16180|-16171|-16169|-16158|-16155|-15959|-15958|-15944|-15933|-15920|-15915|-15903|-15889|-15878|-15707|-15701|-15681|-15667|-15661|-15659|-15652|-15640|-15631|-15625|-15454|-15448|-15436|-15435|-15419|-15416|-15408|-15394|-15385|-15377|-15375|-15369|-15363|-15362|-15183|-15180|-15165|-15158|-15153|-15150|-15149|-15144|-15143|-15141|-15140|-15139|-15128|-15121|-15119|-15117|-15110|-15109|-14941|-14937|-14933|-14930|-14929|-14928|-14926|-14922|-14921|-14914|-14908|-14902|-14894|-14889|-14882|-14873|-14871|-14857|-14678|-14674|-14670|-14668|-14663|-14654|-14645|-14630|-14594|-14429|-14407|-14399|-14384|-14379|-14368|-14355|-14353|-14345|-14170|-14159|-14151|-14149|-14145|-14140|-14137|-14135|-14125|-14123|-14122|-14112|-14109|-14099|-14097|-14094|-14092|-14090|-14087|-14083|-13917|-13914|-13910|-13907|-13906|-13905|-13896|-13894|-13878|-13870|-13859|-13847|-13831|-13658|-13611|-13601|-13406|-13404|-13400|-13398|-13395|-13391|-13387|-13383|-13367|-13359|-13356|-13343|-13340|-13329|-13326|-13318|-13147|-13138|-13120|-13107|-13096|-13095|-13091|-13076|-13068|-13063|-13060|-12888|-12875|-12871|-12860|-12858|-12852|-12849|-12838|-12831|-12829|-12812|-12802|-12607|-12597|-12594|-12585|-12556|-12359|-12346|-12320|-12300|-12120|-12099|-12089|-12074|-12067|-12058|-12039|-11867|-11861|-11847|-11831|-11798|-11781|-11604|-11589|-11536|-11358|-11340|-11339|-11324|-11303|-11097|-11077|-11067|-11055|-11052|-11045|-11041|-11038|-11024|-11020|-11019|-11018|-11014|-10838|-10832|-10815|-10800|-10790|-10780|-10764|-10587|-10544|-10533|-10519|-10331|-10329|-10328|-10322|-10315|-10309|-10307|-10296|-10281|-10274|-10270|-10262|-10260|-10256|-10254';
$key=explode('|',$k);
$val=explode('|',$v);
$py_arr=array_combine($key,$val);
arsort($py_arr);
return$py_arr;
}
⑤ php獲取字元串首字母
他是根據漢字gb2312編碼的頭兩個字元的范圍來區分的。
識別不出很正常,因為gb2312本身包含的漢字就不全。你搜個utf8漢字轉拼音的,你再修改下取個首字元。應該好點
⑥ php如何截取漢字的首字母
搜索一下就找到了啊,我找到了一個你看看,
但要注意使用的時候 編碼一定要用gb2312啊,否則要自己轉換下。
如果我的回答沒能幫助您,請繼續追問。
您也可以向我們團隊發出請求,會有更專業的人來為您解答。
⑦ php 按首字母 列出分類及其相應信息
建議數據表裡增加一個分類的首字母欄位 first_letter,
id title movietype first_letter
1 戰狼傳說 港台影視 G
....
....
21 三國演義03 大陸影視 D
然後根據 first_letter進行聚合操作,就可以啦.
具體代碼我就不寫了,你自己加工一下
⑧ PHP自定義函數獲取漢字首字母的方法
本文實例講述了PHP自定義函數獲取漢字首字母的方法。分享給大家供大家參考,具體如下:
首字母很重要,可以進行排序使用。
城市列表等等。
<?php
/*
*
Created
on
2016-12-1
*/
function
getFirstCharter($str)
{
if
(empty($str))
{
return
'';
}
$fchar
=
ord($str{0});
if
($fchar
>=
ord('A')
&&
$fchar
<=
ord('z'))
return
strtoupper($str{0});
$s1
=
iconv('UTF-8',
'gb2312',
$str);
$s2
=
iconv('gb2312',
'UTF-8',
$s1);
$s
=
$s2
==
$str
?
$s1
:
$str;
$asc
=
ord($s{0})
*
256
+
ord($s{1})
-
65536;
if
($asc
>=
-20319
&&
$asc
<=
-20284)
return
'A';
if
($asc
>=
-20283
&&
$asc
<=
-19776)
return
'B';
if
($asc
>=
-19775
&&
$asc
<=
-19219)
return
'C';
if
($asc
>=
-19218
&&
$asc
<=
-18711)
return
'D';
if
($asc
>=
-18710
&&
$asc
<=
-18527)
return
'E';
if
($asc
>=
-18526
&&
$asc
<=
-18240)
return
'F';
if
($asc
>=
-18239
&&
$asc
<=
-17923)
return
'G';
if
($asc
>=
-17922
&&
$asc
<=
-17418)
return
'H';
if
($asc
>=
-17417
&&
$asc
<=
-16475)
return
'J';
if
($asc
>=
-16474
&&
$asc
<=
-16213)
return
'K';
if
($asc
>=
-16212
&&
$asc
<=
-15641)
return
'L';
if
($asc
>=
-15640
&&
$asc
<=
-15166)
return
'M';
if
($asc
>=
-15165
&&
$asc
<=
-14923)
return
'N';
if
($asc
>=
-14922
&&
$asc
<=
-14915)
return
'O';
if
($asc
>=
-14914
&&
$asc
<=
-14631)
return
'P';
if
($asc
>=
-14630
&&
$asc
<=
-14150)
return
'Q';
if
($asc
>=
-14149
&&
$asc
<=
-14091)
return
'R';
if
($asc
>=
-14090
&&
$asc
<=
-13319)
return
'S';
if
($asc
>=
-13318
&&
$asc
<=
-12839)
return
'T';
if
($asc
>=
-12838
&&
$asc
<=
-12557)
return
'W';
if
($asc
>=
-12556
&&
$asc
<=
-11848)
return
'X';
if
($asc
>=
-11847
&&
$asc
<=
-11056)
return
'Y';
if
($asc
>=
-11055
&&
$asc
<=
-10247)
return
'Z';
return
null;
}
$firstChar
=
getFirstCharter('腳本之家');
print_r($firstChar);//輸出:J
?>
更多關於PHP相關內容感興趣的讀者可查看本站專題:《php常用函數與技巧總結》、《PHP數組(Array)操作技巧大全》、《php字元串(string)用法總結》、《PHP錯誤與異常處理方法總結》、《PHP基本語法入門教程》、《php面向對象程序設計入門教程》、《php+mysql資料庫操作入門教程》及《php常見資料庫操作技巧匯總》
希望本文所述對大家PHP程序設計有所幫助。
⑨ php如何獲取漢字「繽」的首字母
這個是我以前用過的獲取漢字首字母類庫,你可以下載下來參考一下,能查出你說的這個字,支持的特殊中文字也比較多,裡面注釋寫有使用說明。注意的是:繁體中文和簡體中文的編碼格式不一樣,所以繁體字是獲取不到首字母的。貌似當初是獲取得到的全拼,後來我改成獲取首字母了,你如果有其他需求可以參考改一下。
⑩ 求php獲取首字母方法
function($str){
$s1=iconv('UTF-8','gb2312',$str);
$s2=iconv('gb2312','UTF-8',$s1);
$s=$s2==$str?$s1:$str;
$asc=ord($s{0})*256+ord($s{1})-65536;
if($asc>=-20319&&$asc<=-20284)return'a';
if($asc>=-20283&&$asc<=-19776)return'b';
if($asc>=-19775&&$asc<=-19219)return'c';
if($asc>=-19218&&$asc<=-18711)return'd';
if($asc>=-18710&&$asc<=-18527)return'e';
if($asc>=-18526&&$asc<=-18240)return'f';
if($asc>=-18239&&$asc<=-17923)return'g';
if($asc>=-17922&&$asc<=-17418)return'h';
if($asc>=-17417&&$asc<=-16475)return'j';
if($asc>=-16474&&$asc<=-16213)return'k';
if($asc>=-16212&&$asc<=-15641)return'l';
if($asc>=-15640&&$asc<=-15166)return'm';
if($asc>=-15165&&$asc<=-14923)return'n';
if($asc>=-14922&&$asc<=-14915)return'o';
if($asc>=-14914&&$asc<=-14631)return'p';
if($asc>=-14630&&$asc<=-14150)return'q';
if($asc>=-14149&&$asc<=-14091)return'r';
if($asc>=-14090&&$asc<=-13319)return's';
if($asc>=-13318&&$asc<=-12839)return't';
if($asc>=-12838&&$asc<=-12557)return'w';
if($asc>=-12556&&$asc<=-11848)return'x';
if($asc>=-11847&&$asc<=-11056)return'y';
if($asc>=-11055&&$asc<=-10247)return'z';
returnnull;
};
這是一個傳入漢字,通過漢字的ASCII碼來判斷漢字的首字母的方法。已經調試,可以直接使用。望測試。