国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 后端開發(fā) php教程 php工具類之【String處置類】

php工具類之【String處置類】

Jun 13, 2016 pm 12:05 PM
function param return str string

php工具類之【String處理類】

class String {    /**     +----------------------------------------------------------     * 生成UUID 單機(jī)使用     +----------------------------------------------------------     * @access public     +----------------------------------------------------------     * @return string     +----------------------------------------------------------     */    static public function uuid() {        $charid = md5(uniqid(mt_rand(), true));        $hyphen = chr(45);// "-"        $uuid = chr(123)// "{"               .substr($charid, 0, 8).$hyphen               .substr($charid, 8, 4).$hyphen               .substr($charid,12, 4).$hyphen               .substr($charid,16, 4).$hyphen               .substr($charid,20,12)               .chr(125);// "}"        return $uuid;   }	/**	 +----------------------------------------------------------	 * 生成Guid主鍵	 +----------------------------------------------------------	 * @return Boolean	 +----------------------------------------------------------	 */	static public function keyGen() {		return str_replace('-','',substr(String::uuid(),1,-1));	}	/**	 +----------------------------------------------------------	 * 檢查字符串是否是UTF8編碼	 +----------------------------------------------------------	 * @param string $string 字符串	 +----------------------------------------------------------	 * @return Boolean	 +----------------------------------------------------------	 */	static public function isUtf8($str) {		$c=0; $b=0;		$bits=0;		$len=strlen($str);		for($i=0; $i<$len; $i++){			$c=ord($str[$i]);			if($c > 128){				if(($c >= 254)) return false;				elseif($c >= 252) $bits=6;				elseif($c >= 248) $bits=5;				elseif($c >= 240) $bits=4;				elseif($c >= 224) $bits=3;				elseif($c >= 192) $bits=2;				else return false;				if(($i+$bits) > $len) return false;				while($bits > 1){					$i++;					$b=ord($str[$i]);					if($b < 128 || $b > 191) return false;					$bits--;				}			}		}		return true;	}	/**	 +----------------------------------------------------------	 * 字符串截取,支持中文和其他編碼	 +----------------------------------------------------------	 * @static	 * @access public	 +----------------------------------------------------------	 * @param string $str 需要轉(zhuǎn)換的字符串	 * @param string $start 開始位置	 * @param string $length 截取長度	 * @param string $charset 編碼格式	 * @param string $suffix 截?cái)囡@示字符	 +----------------------------------------------------------	 * @return string	 +----------------------------------------------------------	 */	static public function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) {        if(function_exists("mb_substr"))            $slice = mb_substr($str, $start, $length, $charset);        elseif(function_exists('iconv_substr')) {            $slice = iconv_substr($str,$start,$length,$charset);        }else{            $re['utf-8']   = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";            $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";            $re['gbk']    = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";            $re['big5']   = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";            preg_match_all($re[$charset], $str, $match);            $slice = join("",array_slice($match[0], $start, $length));        }        return $suffix ? $slice.'...' : $slice;    }	/**	 +----------------------------------------------------------	 * 產(chǎn)生隨機(jī)字串,可用來自動(dòng)生成密碼	 * 默認(rèn)長度6位 字母和數(shù)字混合 支持中文	 +----------------------------------------------------------	 * @param string $len 長度	 * @param string $type 字串類型	 * 0 字母 1 數(shù)字 其它 混合	 * @param string $addChars 額外字符	 +----------------------------------------------------------	 * @return string	 +----------------------------------------------------------	 */	static public function randString($len=6,$type='',$addChars='') {		$str ='';		switch($type) {			case 0:				$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.$addChars;				break;			case 1:				$chars= str_repeat('0123456789',3);				break;			case 2:				$chars='ABCDEFGHIJKLMNOPQRSTUVWXYZ'.$addChars;				break;			case 3:				$chars='abcdefghijklmnopqrstuvwxyz'.$addChars;				break;			case 4:				$chars = "們阿斯頓發(fā)生地方阿斯蒂芬阿斯蒂芬ASF地V字形陳V手勢(shì)地方過水電費(fèi)v鬼地方乖寶寶雙方都 山東飯館山東飯館撒地方v睡的地方改水電費(fèi)撒地方感受到法國地神風(fēng)怪盜搞活動(dòng)大發(fā)光火地方館地方高大發(fā)光火的反光板的廣播臺(tái)地方館別DVB大小分割撒地方 啥地方告訴對(duì)方釋放掉豆沙方糕撒地方干點(diǎn)啥風(fēng)格白癜風(fēng)鍋煽豆腐山東飯館時(shí)代復(fù)分高速鋼微軟消費(fèi)稅大發(fā)光火好的銹掃畢璃寶芯爺鑒秘凈蔣鈣肩騰枯拋軌堂拌爸循誘祝勵(lì)肯酒繩窮塘燥泡袋朗喂鋁軟渠顆慣貿(mào)糞綜墻趨彼屆墨礙啟逆卸航衣孫齡嶺騙休借".$addChars;				break;			default :				// 默認(rèn)去掉了容易混淆的字符oOLl和數(shù)字01,要添加請(qǐng)使用addChars參數(shù)				$chars='ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'.$addChars;				break;		}		if($len>10 ) {//位數(shù)過長重復(fù)字符串一定次數(shù)			$chars= $type==1? str_repeat($chars,$len) : str_repeat($chars,5);		}		if($type!=4) {			$chars   =   str_shuffle($chars);			$str     =   substr($chars,0,$len);		}else{			// 中文隨機(jī)字			for($i=0;$i<$len;$i++){			  $str.= self::msubstr($chars, floor(mt_rand(0,mb_strlen($chars,'utf-8')-1)),1,'utf-8',false);			}		}		return $str;	}	/**	 +----------------------------------------------------------	 * 生成一定數(shù)量的隨機(jī)數(shù),并且不重復(fù)	 +----------------------------------------------------------	 * @param integer $number 數(shù)量	 * @param string $len 長度	 * @param string $type 字串類型	 * 0 字母 1 數(shù)字 其它 混合	 +----------------------------------------------------------	 * @return string	 +----------------------------------------------------------	 */	static public function buildCountRand ($number,$length=4,$mode=1) {			if($mode==1 && $length<strlen($number) ) {				//不足以生成一定數(shù)量的不重復(fù)數(shù)字				return false;			}			$rand   =  array();			for($i=0; $i<$number; $i++) {				$rand[] =   self::randString($length,$mode);			}			$unqiue = array_unique($rand);			if(count($unqiue)==count($rand)) {				return $rand;			}			$count   = count($rand)-count($unqiue);			for($i=0; $i<$count*3; $i++) {				$rand[] =   self::randString($length,$mode);			}			$rand = array_slice(array_unique ($rand),0,$number);			return $rand;	}	/**	 +----------------------------------------------------------	 *  帶格式生成隨機(jī)字符 支持批量生成	 *  但可能存在重復(fù)	 +----------------------------------------------------------	 * @param string $format 字符格式	 *     # 表示數(shù)字 * 表示字母和數(shù)字 $ 表示字母	 * @param integer $number 生成數(shù)量	 +----------------------------------------------------------	 * @return string | array	 +----------------------------------------------------------	 */	static public function buildFormatRand($format,$number=1) {		$str  =  array();		$length =  strlen($format);		for($j=0; $j<$number; $j++) {			$strtemp   = '';			for($i=0; $i<$length; $i++) {				$char = substr($format,$i,1);				switch($char){					case "*"://字母和數(shù)字混合						$strtemp   .= String::randString(1);						break;					case "#"://數(shù)字						$strtemp  .= String::randString(1,1);						break;					case "$"://大寫字母						$strtemp .=  String::randString(1,2);						break;					default://其他格式均不轉(zhuǎn)換						$strtemp .=   $char;						break;			   }			}			$str[] = $strtemp;		}		return $number==1? $strtemp : $str ;	}	/**	 +----------------------------------------------------------	 * 獲取一定范圍內(nèi)的隨機(jī)數(shù)字 位數(shù)不足補(bǔ)零	 +----------------------------------------------------------	 * @param integer $min 最小值	 * @param integer $max 最大值	 +----------------------------------------------------------	 * @return string	 +----------------------------------------------------------	 */	static public function randNumber ($min, $max) {		return sprintf("%0".strlen($max)."d", mt_rand($min,$max));	}    // 自動(dòng)轉(zhuǎn)換字符集 支持?jǐn)?shù)組轉(zhuǎn)換    static public function autoCharset($string, $from='gbk', $to='utf-8') {        $from = strtoupper($from) == 'UTF8' ? 'utf-8' : $from;        $to = strtoupper($to) == 'UTF8' ? 'utf-8' : $to;        if (strtoupper($from) === strtoupper($to) || empty($string) || (is_scalar($string) && !is_string($string))) {            //如果編碼相同或者非字符串標(biāo)量則不轉(zhuǎn)換            return $string;        }        if (is_string($string)) {            if (function_exists('mb_convert_encoding')) {                return mb_convert_encoding($string, $to, $from);            } elseif (function_exists('iconv')) {                return iconv($from, $to, $string);            } else {                return $string;            }        } elseif (is_array($string)) {            foreach ($string as $key => $val) {                $_key = self::autoCharset($key, $from, $to);                $string[$_key] = self::autoCharset($val, $from, $to);                if ($key != $_key)                    unset($string[$key]);            }            return $string;        }        else {            return $string;        }    }}

?

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻(xiàn),版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請(qǐng)聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費(fèi)脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動(dòng)的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機(jī)

Video Face Swap

Video Face Swap

使用我們完全免費(fèi)的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費(fèi)的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強(qiáng)大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級(jí)代碼編輯軟件(SublimeText3)

使用java的String.valueOf()函數(shù)將基本數(shù)據(jù)類型轉(zhuǎn)換為字符串 使用java的String.valueOf()函數(shù)將基本數(shù)據(jù)類型轉(zhuǎn)換為字符串 Jul 24, 2023 pm 07:55 PM

使用Java的String.valueOf()函數(shù)將基本數(shù)據(jù)類型轉(zhuǎn)換為字符串在Java開發(fā)中,當(dāng)我們需要將基本數(shù)據(jù)類型轉(zhuǎn)換為字符串時(shí),一種常見的方法是使用String類的valueOf()函數(shù)。這個(gè)函數(shù)可以接受基本數(shù)據(jù)類型的參數(shù),并返回對(duì)應(yīng)的字符串表示。在本文中,我們將探討如何使用String.valueOf()函數(shù)進(jìn)行基本數(shù)據(jù)類型轉(zhuǎn)換,并提供一些代碼示例來

C語言return的用法詳解 C語言return的用法詳解 Oct 07, 2023 am 10:58 AM

C語言return的用法有:1、對(duì)于返回值類型為void的函數(shù),可以使用return語句來提前結(jié)束函數(shù)的執(zhí)行;2、對(duì)于返回值類型不為void的函數(shù),return語句的作用是將函數(shù)的執(zhí)行結(jié)果返回給調(diào)用者;3、提前結(jié)束函數(shù)的執(zhí)行,在函數(shù)內(nèi)部,我們可以使用return語句來提前結(jié)束函數(shù)的執(zhí)行,即使函數(shù)并沒有返回值。

function是什么意思 function是什么意思 Aug 04, 2023 am 10:33 AM

function是函數(shù)的意思,是一段具有特定功能的可重復(fù)使用的代碼塊,是程序的基本組成單元之一,可以接受輸入?yún)?shù),執(zhí)行特定的操作,并返回結(jié)果,其目的是封裝一段可重復(fù)使用的代碼,提高代碼的可重用性和可維護(hù)性。

怎么把char數(shù)組轉(zhuǎn)string 怎么把char數(shù)組轉(zhuǎn)string Jun 09, 2023 am 10:04 AM

char數(shù)組轉(zhuǎn)string的方法:可以通過賦值來實(shí)現(xiàn),使用{char a[]=" abc d\0efg ";string s=a;}語法,讓char數(shù)組對(duì)string直接賦值,執(zhí)行代碼即可完成轉(zhuǎn)換。

使用java的String.replace()函數(shù)替換字符串中的字符(串) 使用java的String.replace()函數(shù)替換字符串中的字符(串) Jul 25, 2023 pm 05:16 PM

使用Java的String.replace()函數(shù)替換字符串中的字符(串)在Java中,字符串是不可變的對(duì)象,這意味著一旦創(chuàng)建了一個(gè)字符串對(duì)象,就無法修改它的值。但是,你可能會(huì)遇到需要替換字符串中的某些字符或者字符串的情況。這時(shí)候,我們可以使用Java的String類中的replace()方法來實(shí)現(xiàn)字符串的替換。String類的replace()方法有兩種重

使用java的String.length()函數(shù)獲取字符串的長度 使用java的String.length()函數(shù)獲取字符串的長度 Jul 25, 2023 am 09:09 AM

使用Java的String.length()函數(shù)獲取字符串的長度在Java編程中,字符串是一種非常常見的數(shù)據(jù)類型,我們經(jīng)常需要獲取字符串的長度,即字符串中字符的個(gè)數(shù)。在Java中,我們可以使用String類的length()函數(shù)來獲取字符串的長度。下面是一個(gè)簡單的示例代碼:publicclassStringLengthExample{publ

Java中return和finally語句的執(zhí)行順序是怎樣的? Java中return和finally語句的執(zhí)行順序是怎樣的? Apr 25, 2023 pm 07:55 PM

源碼:publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}#輸出上述代碼的輸出可以簡單地得出結(jié)論:return在finally之前執(zhí)行,我們來看下字節(jié)碼層面上發(fā)生了什么事情。下面截取case1方法的部分字節(jié)碼,并且對(duì)照源碼,將每個(gè)指令的含義注釋在

2w字 詳解 String,yyds 2w字 詳解 String,yyds Aug 24, 2023 pm 03:56 PM

大家好,今天給大家分享java基礎(chǔ)知識(shí)之String。String類的重要性就不必說了,可以說是我們后端開發(fā)用的最多的類,所以,很有必要好好來聊聊它。

See all articles