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

ホームページ バックエンド開(kāi)発 PHPチュートリアル PHPツールクラス【文字列処理クラス】

PHPツールクラス【文字列処理クラス】

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

PHPツール [文字列処理クラス]

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 開(kāi)始位置	 * @param string $length 截取長(zhǎng)度	 * @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ī)字串,可用來(lái)自動(dòng)生成密碼	 * 默認(rèn)長(zhǎng)度6位 字母和數(shù)字混合 支持中文	 +----------------------------------------------------------	 * @param string $len 長(zhǎng)度	 * @param string $type 字串類(lèi)型	 * 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ì)地方過(guò)水電費(fèi)v鬼地方乖寶寶雙方都 山東飯館山東飯館撒地方v睡的地方改水電費(fèi)撒地方感受到法國(guó)地神風(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ù)過(guò)長(zhǎng)重復(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 長(zhǎng)度	 * @param string $type 字串類(lèi)型	 * 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 "$"://大寫(xiě)字母						$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)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見(jiàn)つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫(huà)像を無(wú)料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫(xiě)真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫(xiě)真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類(lèi)リムーバー

Video Face Swap

Video Face Swap

完全無(wú)料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無(wú)料のコードエディター

SublimeText3 中國(guó)語(yǔ)版

SublimeText3 中國(guó)語(yǔ)版

中國(guó)語(yǔ)版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開(kāi)発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開(kāi)発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Java の String.valueOf() 関數(shù)を使用して基本データ型を文字列に変換する Java の String.valueOf() 関數(shù)を使用して基本データ型を文字列に変換する Jul 24, 2023 pm 07:55 PM

Java の String.valueOf() 関數(shù)を使用して基本データ型を文字列に変換する Java 開(kāi)発で基本データ型を文字列に変換する必要がある場(chǎng)合、一般的な方法は String クラスの valueOf() 関數(shù)を使用することです。この関數(shù)は、基本データ型のパラメータを受け入れ、対応する文字列表現(xiàn)を返すことができます。この記事では、基本的なデータ型変換に String.valueOf() 関數(shù)を使用する方法を検討し、いくつかのコード例を提供します。

C言語(yǔ)のreturnの使い方を詳しく解説 C言語(yǔ)のreturnの使い方を詳しく解説 Oct 07, 2023 am 10:58 AM

C 言語(yǔ)における return の使い方は、 1. 戻り値の型が void の関數(shù)については、return 文を使用して関數(shù)の実行を早期に終了することができます; 2. 戻り値の型が void ではない関數(shù)については、 return ステートメントは、関數(shù)の実行を終了するためのものです。結(jié)果は呼び出し元に返されます。 3. 関數(shù)の実行を早期に終了します。関數(shù)內(nèi)で return ステートメントを使用して、関數(shù)の実行を早期に終了することもできます。関數(shù)が値を返さない場(chǎng)合。

機(jī)能とはどういう意味ですか? 機(jī)能とはどういう意味ですか? Aug 04, 2023 am 10:33 AM

ファンクションとは、関數(shù)を意味します。これは、特定の関數(shù)を備えた再利用可能なコード ブロックです。プログラムの基本コンポーネントの 1 つです。入力パラメータを受け取り、特定の操作を?qū)g行し、結(jié)果を返すことができます。その目的は、再利用可能なコード ブロックをカプセル化することです。コードの再利用性と保守性を向上させるコード。

char配列を文字列に変換する方法 char配列を文字列に変換する方法 Jun 09, 2023 am 10:04 AM

char配列をstringに変換する方法:代入によって実現(xiàn)できます {char a[]=" abc d\0efg ";string s=a;} 構(gòu)文を使用して、char配列にstringに値を直接代入させて実行します変換を完了するためのコード。

Java の String.replace() 関數(shù)を使用して、文字列內(nèi)の文字 (文字列) を置換します。 Java の String.replace() 関數(shù)を使用して、文字列內(nèi)の文字 (文字列) を置換します。 Jul 25, 2023 pm 05:16 PM

Java の String.replace() 関數(shù)を使用して文字列內(nèi)の文字 (文字列) を置換する Java では、文字列は不変オブジェクトです。つまり、文字列オブジェクトが作成されると、その値は変更できません。ただし、文字列內(nèi)の特定の文字または文字列を置換する必要がある狀況が発生する場(chǎng)合があります?,F(xiàn)時(shí)點(diǎn)では、Java の String クラスの replace() メソッドを使用して文字列置換を?qū)g裝できます。 String クラスの replace() メソッドには 2 つのタイプがあります。

JavaのString.length()関數(shù)を使用して文字列の長(zhǎng)さを取得します。 JavaのString.length()関數(shù)を使用して文字列の長(zhǎng)さを取得します。 Jul 25, 2023 am 09:09 AM

文字列の長(zhǎng)さを取得するには、Java の String.length() 関數(shù)を使用します。Java プログラミングでは、文字列は非常に一般的なデータ型です。多くの場(chǎng)合、文字列の長(zhǎng)さ、つまり文字列內(nèi)の文字?jǐn)?shù)を取得する必要があります。 Java では、String クラスの length() 関數(shù)を使用して文字列の長(zhǎng)さを取得できます。簡(jiǎn)単なコード例を次に示します。 publicclassStringLengthExample{publ

Javaのreturn文とf(wàn)inally文の実行順序は何ですか? Javaのreturn文とf(wàn)inally文の実行順序は何ですか? 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é)論付けることができます:finally の前に return が実行されます。バイトコード レベルで何が起こるかを見(jiàn)てみましょう。以下は、case1 メソッドのバイトコードの一部をインターセプトし、ソース コードを比較して、各命令の意味に注釈を付けます。

2wワード詳細(xì)説明文字列、yyds 2wワード詳細(xì)説明文字列、yyds Aug 24, 2023 pm 03:56 PM

皆さんこんにちは。今日は Java の基本知識(shí)である String についてお話(huà)します。 String クラスの重要性は言うまでもなく、バックエンド開(kāi)発で最もよく使用されるクラスであるため、説明する必要があります。

See all articles