當前位置:首頁 » 編程語言 » 字元串大寫php

字元串大寫php

發布時間: 2025-03-19 11:47:02

1. php中字元串「open_floor」 轉換成 「OpenFloor」、」you_and_she」 轉換成 」YouAn

/*
首先記住這幾個函數

ucwords(string) //每個單詞首字母大寫
ucfirst(string) //字元串第一個字母大寫
strtolower(string) //字元串轉換成小寫
strtoupper(string) //字元串轉換成大寫

*/
//方法一

function change($str) {
$arr = explode('_',$str);
foreach($arr as $key=>$val) {
$newStar = strtoupper(substr($val,0,1));
$other = substr($val,1);
$tarr[] = $newStar.$other;
}
return implode("",$tarr);
}

//方法二比較簡單
function change2($str) {
$arr = explode('_',$str);
foreach($arr as $key=>$val) {
$tmp = ucfirst($val);
$tarr[] = $tmp;
}
return implode("",$tarr);
}

var_mp(change2("open_door_ok"));
var_mp(change("open_door_yes"));

2. 求一個 php 數字小寫轉為大寫的函數(在線等,謝謝)

PHP把阿拉伯數字轉換成中文,需要定義一個轉換的演算法

演算法實例:

<?php
/將數字轉換為漢字,比如1210轉換為一千二百一十
$num="842105580";//九位數
functiondel0($num)//去掉數欄位前面的0
{
return"".intval($num);
}
functionn2c($x)//單個數字變漢字
{
$arr_n=array("零","一","二","三","四","五","六","七","八","九","十");
return$arr_n[$x];
}
functionnum_r($abcd)//讀取數值(4位)
{
$arr=array();
$str="";//讀取後的漢字數值
$flag=0;//該位是否為零
$flag_end=1;//是否以「零」結尾
$size_r=strlen($abcd);
for($i=0;$i<$size_r;$i++)
{
$arr[$i]=$abcd{$i};
}
$arrlen=count($arr);
for($j=0;$j<$arrlen;$j++)
{
$ch=n2c($arr[$arrlen-1-$j]);//從後向前轉漢字
echo$ch;
echo"";
if($ch=="零"&&$flag==0){//如果是第一個零
$flag=1;//該位為零
$str=$ch.$str;//加入漢字數值字元串
continue;
}elseif($ch=="零"){//如果不是第一個零了
continue;
}
$flag=0;//該位不是零
switch($j){
case0:$str=$ch;$flag_end=0;break;//第一位(末尾),沒有以「零」結尾
case1:$str=$ch."十".$str;break;//第二位
case2:$str=$ch."百".$str;break;//第三位
case3:$str=$ch."千".$str;break;//第四位
}
}
if($flag_end==1)//如果以「零」結尾
{
mb_internal_encoding("UTF-8");
$str=mb_substr($str,0,mb_strlen($str)-1);//把「零」去掉
}
return$str;
}
functionnum2ch($num)//整體讀取轉換
{
$num_real=del0($num);//去掉前面的「0」
$numlen=strlen($num_real);
echo"numlen=".$numlen."";
if($numlen>=9)//如果滿九位,讀取「億」位
{
$y=substr($num_real,-9,1);
//echo$y;
$wsbq=substr($num_real,-8,4);
$gsbq=substr($num_real,-4);
$a=num_r(del0($gsbq));
$b=num_r(del0($wsbq))."萬";
$c=num_r(del0($y))."億";
}elseif($numlen<=8&&$numlen>=5)//如果大於等於「萬」
{
$wsbq=substr($num_real,0,$numlen-4);
$gsbq=substr($num_real,-4);
$a=num_r(del0($gsbq));
$b=num_r(del0($wsbq))."萬";
$c="";
}elseif($numlen<=4)//如果小於等於「千」
{
$gsbq=substr($num_real,-$numlen);
$a=num_r(del0($gsbq));
$b="";
$c="";
}
$ch_num=$c.$b.$a;
return$ch_num;
}
echo$num."";//數字
echonum2ch($num);//漢字
echo"";
echonum2ch("1240");
?>

3. 超常用的PHP正則表達式收集整理

以下就是對超常用的PHP正則表達式進行的收集整理,為了方便大家更快更好的掌握php正則表達式。
一、表單驗證匹配
驗證賬號,字母開頭,允許
5-16
位元組,允許字母數字下劃線:^[a-zA-Z][a-zA-Z0-9_]{4,15}$
驗證賬號,不能為空,不能有空格,只能是英文字母:^\S+[a-z
A-Z]$
驗證賬號,不能有空格,不能非數字:^\d+$
驗證用戶密碼,以字母開頭,長度在
6-18
之間:^[a-zA-Z]\w{5,17}$
驗證是否含有
^%&',;=?$\
等字元:[^%&',;=?$\x22]+
匹配Email地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配騰訊QQ號:[1-9][0-9]{4,}
匹配日期,只能是
2004-10-22
格式:^\d{4}\-\d{1,2}-\d{1,2}$
匹配國內電話號碼:^\d{3}-\d{8}|\d{4}-\d{7,8}$------------評註:匹配形式如010-12345678
或0571-12345678

0831-1234567
匹配中國郵政編碼:^[1-9]\d{5}(?!\d)$
匹配身份證:\d{14}(\d{4}|(\d{3}[xX])|\d{1})------------評註:中國的身份證為15
位或18

不能為空且二十位元組以上:^[\s|\S]{20,}$
二、字元匹配
匹配由
26
個英文字母組成的字元串:^[A-Za-z]+$
匹配由
26
個大寫英文字母組成的字元串:^[A-Z]+$
匹配由
26
個小寫英文字母組成的字元串:^[a-z]+$
匹配由數字和
26
個英文字母組成的字元串:^[A-Za-z0-9]+$
匹配由數字、26個英文字母或者下劃線組成的字元串:^\w+$
匹配空行:\n[\s|
]*\r
匹配任何內容:[\s\S]*
匹配中文字元:[\x80-\xff]+
或者
[\xa1-\xff]+
只能輸入漢字:^[\x80-\xff],{0,}$
匹配雙位元組字元(包括漢字在內):[^\x00-\xff]
三、匹配數字
只能輸入數字:^[0-9]*$
只能輸入n位的數字:^\d{n}$
只能輸入至少n位數字:^\d{n,}$
只能輸入m-n位的數字:^\d{m,n}$
匹配正整數:^[1-9]\d*$
匹配負整數:^-[1-9]\d*$
匹配整數:^-?[1-9]\d*$
匹配非負整數(正整數
+
0):^[1-9]\d*|0$
匹配非正整數(負整數
+
0):^-[1-9]\d*|0$
匹配正浮點數:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$
匹配負浮點數:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$
匹配浮點數:^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$
匹配非負浮點數(正浮點數
+
0):^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$
匹配非正浮點數(負浮點數
+
0):^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$
四、其他
匹配HTML標記的正則表達式(無法匹配嵌套標簽):<(\S*?)[^>]*>.*?</\1>|<.*?
/>
匹配網址
URL
:[a-zA-z]+://[^\s]*
匹配
IP
地址:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)
匹配完整域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?
提示
上述正則表達式通常都加了
^

$
來限定字元的起始和結束,如果需要匹配的內容包括在字元串當中,可能需要考慮去掉
^

$
限定符。
以上正則表達式僅供參考,使用時請檢驗後再使用,希望通過這些超常用的PHP正則表達式

4. php 中文轉拼音首字母問題

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

<?php
/*
中文漢字轉拼音首字母的PHP簡易實現方法.
要求:只能是GB2312碼表裡面中文字元
轉換得到字元串對應的拼音首字母大寫.
用法:
echozh2py::conv('Chinese中華人民共和國');//ChineseZHRMGHG

$py=newzh2py;
echo$py->conv('Chinese中華人民共和國');//ChineseZHRMGHG
*/
classzh2py
{
//根據漢字區位表
//我們可以看到從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
*/
privatestatic$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
);
privatestatic$FirstLetter="ABCDEFGHJKLMNOPQRSTWXYZ";
//區位表第二部份,不規則的,下面的字母是每個區裡面對應字的拼音首字母.從網上查詢整理出來的,可能會有部份錯誤.
//56區-87區
privatestatic$SecondTable=array(
"JWRDZLSYMRYPYWWCCKZNKYYG",
"KBPHFFSSTYBGMXLPBYLLBHLX",
"DZBXGZNZCPWHWXHQKMWFBPBY",
"TNMAYDDKSSNGYCSGXLYZAYPN",
"QYRBCJTHZTQFRXQHXMQJCJLY",
"JZSRMEBWHJLBJSLYYSMDXLCL",
"QGSZYQYAXBKYSECJSZNSLYZH",
"GMMCLGWZSZXZJFZNMLZZTHCS",
"SPRCHNWJNLHLYYQYYWZPTCZG",
"ZJQSQQAGMNYXPFRKSSBJLYXY",
"CWKCCSBNHCPDYZNFCYYTYCKX",
"DMGBWHWLGSLLYSDLMLXPTHMJ",
"TPMHYXLCHLHLZYLXGSSSSTCL",
"HTZKZJECXJCJNMFBYCSFYWYB",
"XHPLQKZCZWALSBCZJXSYZGWK",
"LDDPMJEGXYHYLXHLQYQHKYCW",
"QTTJHHHJLJAXFGFJZSLCFDQZ",
"LPDJBYREGKLZYZHLYSZQLZNW",
"FCJXDYGJQJJPMGWGJJJPKQSB",
"YFYZDJCNMWESCYGLBTZZGMSS",
"JHFSSXZQHFZMZCZTQCXZXRTT",
"BKZFFXMKDMDSYYSZCMLJDSYN",
"XTBNPDKLEYCJNYCDYKZTDHQH",
"LPCQDHZYCBZSCZBZMSLJFLKR",
"XJYYZLWCXSZFGWYYDLYHCLJS",
"LZCSHLTOLJNMDDDLNGKATHQH",
"PTQWLMCRNFKKFSYYLQBMQAMM",
"ZRQTBDKYXZKHHGFLBCSMDLDG",
"HYMZQQYDFQJJLZZNZJCDGZYG",
"PQCJPFCZLCLZXZDMXMPHJSGZ",
"GSHJQLZFKCGNNNSZFDEQFHBS",
"MQASLDCYXYQDLQCAFYWYXQHZ",
);
publicstaticfunctionutf8_to_gbk($string)//編碼轉換,必須轉換成GB2312字元,這里只是簡單的判斷並不是很准確,可以自己寫一個.
{
if(mb_check_encoding($string,'gb2312'))
return$string;
if(function_exists('iconv'))
returniconv("utf-8","gb2312//IGNORE",$string);
returnmb_convert_encoding($string,'gb2312','utf-8');
}
publicstaticfunctionconv($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::$FirstTableas$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;
}
}


echozh2py::conv('妃');//F
熱點內容
製作自解壓安裝 發布:2025-03-20 05:41:49 瀏覽:302
華為連接電視密碼是多少 發布:2025-03-20 05:31:11 瀏覽:492
演算法第五版 發布:2025-03-20 05:17:57 瀏覽:730
湖南台訪問 發布:2025-03-20 05:10:32 瀏覽:38
腳本和秒搶 發布:2025-03-20 05:06:29 瀏覽:591
b35鎖如何設置密碼 發布:2025-03-20 05:06:27 瀏覽:905
淘寶如何租雲伺服器 發布:2025-03-20 05:05:12 瀏覽:213
編程忌諱 發布:2025-03-20 04:58:35 瀏覽:427
國家知識產權專利資料庫 發布:2025-03-20 04:54:29 瀏覽:416
win7怎麼給文件夾設密碼 發布:2025-03-20 04:52:38 瀏覽:725