Heim Backend-Entwicklung PHP-Tutorial php工具类之【String处置类】

php工具类之【String处置类】

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

php工具类之【String处理类】

1

class String {    /**     +----------------------------------------------------------     * 生成UUID 单机使用     +----------------------------------------------------------     * @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 需要转换的字符串   * @param string $start 开始位置     * @param string $length 截取长度    * @param string $charset 编码格式   * @param string $suffix 截断显示字符  +----------------------------------------------------------     * @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;    }   /**  +----------------------------------------------------------     * 产生随机字串,可用来自动生成密码  * 默认长度6位 字母和数字混合 支持中文   +----------------------------------------------------------     * @param string $len 长度     * @param string $type 字串类型  * 0 字母 1 数字 其它 混合   * @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 = "们阿斯顿发生地方阿斯蒂芬阿斯蒂芬ASF地V字形陈V手势地方过水电费v鬼地方乖宝宝双方都 山东饭馆山东饭馆撒地方v睡的地方改水电费撒地方感受到法国地神风怪盗搞活动大发光火地方馆地方高大发光火的反光板的广播台地方馆别DVB大小分割撒地方 啥地方告诉对方释放掉豆沙方糕撒地方干点啥风格白癜风锅煽豆腐山东饭馆时代复分高速钢微软消费税大发光火好的锈扫毕璃宝芯爷鉴秘净蒋钙肩腾枯抛轨堂拌爸循诱祝励肯酒绳穷塘燥泡袋朗喂铝软渠颗惯贸粪综墙趋彼届墨碍启逆卸航衣孙龄岭骗休借".$addChars;               break;          default :               // 默认去掉了容易混淆的字符oOLl和数字01,要添加请使用addChars参数               $chars='ABCDEFGHIJKMNPQRSTUVWXYZabcdefghijkmnpqrstuvwxyz23456789'.$addChars;                break;      }       if($len>10 ) {//位数过长重复字符串一定次数            $chars= $type==1? str_repeat($chars,$len) : str_repeat($chars,5);       }       if($type!=4) {          $chars   =   str_shuffle($chars);           $str     =   substr($chars,0,$len);     }else{          // 中文随机字            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;    }   /**  +----------------------------------------------------------     * 生成一定数量的随机数,并且不重复  +----------------------------------------------------------     * @param integer $number 数量     * @param string $len 长度     * @param string $type 字串类型  * 0 字母 1 数字 其它 混合   +----------------------------------------------------------     * @return string    +----------------------------------------------------------     */ static public function buildCountRand ($number,$length=4,$mode=1) {         if($mode==1 && $length<strlen($number) ) {               //不足以生成一定数量的不重复数字               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;   }   /**  +----------------------------------------------------------     *  带格式生成随机字符 支持批量生成     *  但可能存在重复  +----------------------------------------------------------     * @param string $format 字符格式    *     # 表示数字 * 表示字母和数字 $ 表示字母   * @param integer $number 生成数量   +----------------------------------------------------------     * @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 "*"://字母和数字混合                      $strtemp   .= String::randString(1);                        break;                  case "#"://数字                       $strtemp  .= String::randString(1,1);                       break;                  case "$"://大写字母                     $strtemp .=  String::randString(1,2);                       break;                  default://其他格式均不转换                      $strtemp .=   $char;                        break;             }            }           $str[] = $strtemp;      }       return $number==1? $strtemp : $str ;    }   /**  +----------------------------------------------------------     * 获取一定范围内的随机数字 位数不足补零   +----------------------------------------------------------     * @param integer $min 最小值   * @param integer $max 最大值   +----------------------------------------------------------     * @return string    +----------------------------------------------------------     */ static public function randNumber ($min, $max) {        return sprintf("%0".strlen($max)."d", mt_rand($min,$max));  }    // 自动转换字符集 支持数组转换    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))) {            //如果编码相同或者非字符串标量则不转换            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;        }    }}

Nach dem Login kopieren

?

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings Jul 24, 2023 pm 07:55 PM

Konvertieren Sie grundlegende Datentypen mit der Java-Funktion String.valueOf() in Strings. Wenn wir in der Java-Entwicklung grundlegende Datentypen in Strings konvertieren müssen, ist eine gängige Methode die Verwendung der Funktion valueOf() der String-Klasse. Diese Funktion kann Parameter grundlegender Datentypen akzeptieren und die entsprechende Zeichenfolgendarstellung zurückgeben. In diesem Artikel untersuchen wir, wie die Funktion String.valueOf() für grundlegende Datentypkonvertierungen verwendet wird, und stellen einige Codebeispiele dafür bereit

Detaillierte Erläuterung der Verwendung von Return in der C-Sprache Detaillierte Erläuterung der Verwendung von Return in der C-Sprache Oct 07, 2023 am 10:58 AM

Die Verwendung von return in der C-Sprache ist: 1. Für Funktionen, deren Rückgabewerttyp ungültig ist, können Sie die Rückgabeanweisung verwenden, um die Ausführung der Funktion vorzeitig zu beenden. 2. Für Funktionen, deren Rückgabewerttyp nicht ungültig ist, ist die Funktion von Die Return-Anweisung dient dazu, die Ausführung der Funktion zu beenden. 3. Beenden Sie die Ausführung der Funktion vorzeitig wenn die Funktion keinen Wert zurückgibt.

So konvertieren Sie ein Char-Array in einen String So konvertieren Sie ein Char-Array in einen String Jun 09, 2023 am 10:04 AM

Methode zum Konvertieren eines char-Arrays in einen String: Dies kann durch Zuweisung erreicht werden. Verwenden Sie die Syntax {char a[]=" abc d\0efg ";string s=a;}, damit das char-Array dem String direkt einen Wert zuweisen und ausführen kann Der Code zum Abschließen der Konvertierung.

Was bedeutet Funktion? Was bedeutet Funktion? Aug 04, 2023 am 10:33 AM

Funktion bedeutet Funktion. Es handelt sich um einen wiederverwendbaren Codeblock mit bestimmten Funktionen. Er kann Eingabeparameter akzeptieren, bestimmte Operationen ausführen und Ergebnisse zurückgeben. Code, um die Wiederverwendbarkeit und Wartbarkeit des Codes zu verbessern.

Wie ist die Ausführungsreihenfolge von Return- und Final-Anweisungen in Java? Wie ist die Ausführungsreihenfolge von Return- und Final-Anweisungen in Java? Apr 25, 2023 pm 07:55 PM

Quellcode: publicclassReturnFinallyDemo{publicstaticvoidmain(String[]args){System.out.println(case1());}publicstaticintcase1(){intx;try{x=1;returnx;}finally{x=3;}}}# Ausgabe Die Ausgabe des obigen Codes kann einfach zu dem Schluss kommen: return wird ausgeführt, bevor wir uns schließlich ansehen, was auf der Bytecode-Ebene passiert. Im Folgenden wird ein Teil des Bytecodes der Methode case1 abgefangen und mit dem Quellcode verglichen, um die Bedeutung jeder Anweisung darin zu kommentieren

Verwenden Sie die String.replace()-Funktion von Java, um Zeichen (Strings) in einem String zu ersetzen Verwenden Sie die String.replace()-Funktion von Java, um Zeichen (Strings) in einem String zu ersetzen Jul 25, 2023 pm 05:16 PM

Ersetzen Sie Zeichen (Strings) in einem String mit der Java-Funktion String.replace(). In Java sind Strings unveränderliche Objekte, was bedeutet, dass der Wert eines String-Objekts nach der Erstellung nicht mehr geändert werden kann. Es kann jedoch vorkommen, dass Sie bestimmte Zeichen oder Zeichenfolgen in einer Zeichenfolge ersetzen müssen. Zu diesem Zeitpunkt können wir die Methode replace () in der String-Klasse von Java verwenden, um das Ersetzen von Zeichenfolgen zu implementieren. Die Methode replace() der Klasse String hat zwei Typen:

2w Wörter detaillierte Erklärung String, yyds 2w Wörter detaillierte Erklärung String, yyds Aug 24, 2023 pm 03:56 PM

Hallo zusammen, heute werde ich die Grundkenntnisse von Java: String mit Ihnen teilen. Unnötig zu erwähnen, wie wichtig die String-Klasse ist. Man kann sagen, dass sie die am häufigsten verwendete Klasse in unserer Back-End-Entwicklung ist, daher ist es notwendig, darüber zu sprechen.

Verwenden Sie die String.length()-Funktion von Java, um die Länge einer Zeichenfolge zu ermitteln Verwenden Sie die String.length()-Funktion von Java, um die Länge einer Zeichenfolge zu ermitteln Jul 25, 2023 am 09:09 AM

Verwenden Sie die String.length()-Funktion von Java, um die Länge einer Zeichenfolge zu ermitteln. In der Java-Programmierung ist die Zeichenfolge ein sehr häufiger Datentyp. Wir müssen häufig die Länge einer Zeichenfolge ermitteln, dh die Anzahl der Zeichen in der Zeichenfolge. In Java können wir die Funktion length() der String-Klasse verwenden, um die Länge eines Strings zu ermitteln. Hier ist ein einfacher Beispielcode: publicclassStringLengthExample{publ

See all articles