摘要:獲取部分字符串根據(jù)字符數(shù)執(zhí)行一個(gè)多字節(jié)安全的操作。位置是從的開(kāi)始位置進(jìn)行計(jì)數(shù)。第一個(gè)字符的位置是。從該中提取子字符串。中要使用的最大字符數(shù)。如果省略,則使用內(nèi)部字符編碼。函數(shù)根據(jù)和參數(shù)返回中指定的部分。
mb_substr
Description(PHP 4 >= 4.0.6, PHP 5, PHP 7)
mb_substr — Get part of string
mb_substr — 獲取部分字符串
string mb_substr ( string $str , int $start [, int $length = NULL [, string $encoding = mb_internal_encoding() ]] ) // Performs a multi-byte safe substr() operation based on number of characters. Position is counted from // the beginning of str. First character"s position is 0. Second character position is 1, and so on. //根據(jù)字符數(shù)執(zhí)行一個(gè)多字節(jié)安全的 substr() 操作。 位置是從 str 的開(kāi)始位置進(jìn)行計(jì)數(shù)。 第一個(gè)字符的位置是 0。第二個(gè)字符的位置是 1,以此類(lèi)推。Parameters str
The string to extract the substring from.
從該 string 中提取子字符串。
startIf start is non-negative, the returned string will start at the start"th position in str, counting from zero. For instance, in the string "abcdef", the character at position 0 is "a", the character at position 2 is "c", and so forth.
如果 start 不是負(fù)數(shù),返回的字符串會(huì)從 str 第 start 的位置開(kāi)始,從 0 開(kāi)始計(jì)數(shù)。舉個(gè)例子,字符串 "abcdef",位置 0 的字符是 "a",位置 2 的字符是 "c",以此類(lèi)推。
If start is negative, the returned string will start at the start"th character from the end of str.
如果 start 是負(fù)數(shù),返回的字符串是從 str 末尾處第 start 個(gè)字符開(kāi)始的。
lengthMaximum number of characters to use from str. If omitted or NULL is passed, extract all characters to the end of the string.
str 中要使用的最大字符數(shù)。如果省略了此參數(shù)或者傳入了 NULL,則會(huì)提取到字符串的尾部。
encodingThe encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.
encoding 參數(shù)為字符編碼。如果省略,則使用內(nèi)部字符編碼。
Return Valuesmb_substr() returns the portion of str specified by the start and length parameters.
mb_substr() 函數(shù)根據(jù) start 和 length 參數(shù)返回 str 中指定的部分。
Changelog5.4.8 - Passing NULL as length extracts all characters to the end of the string. Prior to this version NULL was treated the same as 0.
Examples0 length > 0*/ $mystring = mb_substr( $string, 5, 1 ); echo $mystring . PHP_EOL; // 5 $mystring = mb_substr( $string, 5, 2 ); echo $mystring . PHP_EOL; // 56 $mystring = mb_substr( $string, 10, 2 ); echo $mystring . PHP_EOL; // 你好 /** start < 0 length > 0*/ $mystring = mb_substr( $string, - 2, 2 ); echo $mystring . PHP_EOL; // 你好 echo "mb_strlen : " . mb_strlen( $string ) . PHP_EOL;//12 $mystring = mb_substr( $string, - mb_strlen( $string ), 2 ); echo $mystring . PHP_EOL; // 01 $mystring = mb_substr( $string, - 3, 2 ); echo $mystring . PHP_EOL; // 9你 /** start > 0 length < 0*/ $mystring = mb_substr( $string, 5, - 1 ); echo $mystring . PHP_EOL; // 56789你 $mystring = mb_substr( $string, 0, - mb_strlen( $string ) + 1 ); echo $mystring . PHP_EOL; // 0 $mystring = mb_substr( $string, 5, - 5 ); echo $mystring . PHP_EOL; // 56 /** start < 0 length < 0*/ $mystring = mb_substr( $string, - 10, - 1 ); echo $mystring . PHP_EOL; // 23456789你 $mystring = mb_substr( $string, - 5, - 1 ); echo $mystring . PHP_EOL; // 789你 function mb_ucfirst( $str, $enc = "utf-8" ) { return mb_strtoupper( mb_substr( $str, 0, 1, $enc ), $enc ) . mb_substr( $str, 1, mb_strlen( $str, $enc ), $enc ); } echo mb_ucfirst( "hello world 你好 中國(guó)" ) . PHP_EOL; //Hello world 你好 中國(guó) /** * @param $string * @param string $encoding * * @return array */ function get_character_classes( $string, $encoding = "UTF-8" ) { $current_encoding = mb_internal_encoding(); mb_internal_encoding( $encoding ); $has = array(); $stringlength = mb_strlen( $string, $encoding ); for ( $i = 0; $i < $stringlength; $i ++ ) { $c = mb_substr( $string, $i, 1 ); if ( ( $c >= "0" ) && ( $c <= "9" ) ) { $has["numeric"] = "numeric"; } else if ( ( $c >= "a" ) && ( $c <= "z" ) ) { $has["alpha"] = "alpha"; $has["alphalower"] = "alphalower"; } else if ( ( $c >= "A" ) && ( $c <= "Z" ) ) { $has["alpha"] = "alpha"; $has["alphaupper"] = "alphaupper"; } else if ( ( $c == "$" ) || ( $c == "£" ) ) { $has["currency"] = "currency"; } else if ( ( $c == "." ) && ( $has["decimal"] ) ) { $has["decimals"] = "decimals"; } else if ( $c == "." ) { $has["decimal"] = "decimal"; } else if ( $c == "," ) { $has["comma"] = "comma"; } else if ( $c == "-" ) { $has["dash"] = "dash"; } else if ( $c == " " ) { $has["space"] = "space"; } else if ( $c == "/" ) { $has["slash"] = "slash"; } else if ( $c == ":" ) { $has["colon"] = "colon"; } else if ( ( $c >= " " ) && ( $c <= "~" ) ) { $has["ascii"] = "ascii"; } else { $has["binary"] = "binary"; } } mb_internal_encoding( $current_encoding ); return $has; } $string = "1234asdfA£^_{}|}~????"; foreach ( get_character_classes( $string ) as $k => $v ) { echo $k . " : " . $v . PHP_EOL; } //numeric : numeric //alpha : alpha //alphalower : alphalower //alphaupper : alphaupper //currency : currency //ascii : ascii //binary : binary文章參考
http://php.net/manual/en/func...
轉(zhuǎn)載注明出處文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/28202.html
摘要:最近遇到一個(gè)問(wèn)題,太久沒(méi)有使用來(lái)對(duì)字符串進(jìn)行處理根據(jù)字符數(shù)截取今天周五了今天周五天周五了了了 最近遇到一個(gè)問(wèn)題,太久沒(méi)有使用substr來(lái)對(duì)字符串進(jìn)行處理 mb_substr(); // 根據(jù)字符數(shù)截取 $str = 今天周五了friday; echo mb_substr($str, 0, 4); // 今天周五 echo mb_substr($str, 1, 4); // 天周...
摘要:應(yīng)用場(chǎng)景從數(shù)據(jù)庫(kù)讀取產(chǎn)品標(biāo)題過(guò)長(zhǎng)時(shí),會(huì)導(dǎo)致布局混亂,我們可以使用字符串截?cái)嗪瘮?shù)進(jìn)行截?cái)?,用代替截?cái)嗖糠帧? 應(yīng)用場(chǎng)景 從數(shù)據(jù)庫(kù)讀取產(chǎn)品標(biāo)題過(guò)長(zhǎng)時(shí),會(huì)導(dǎo)致布局混亂,我們可以使用字符串截?cái)嗪瘮?shù)進(jìn)行截?cái)?,?..代替截?cái)嗖糠帧?函數(shù)代碼 /** * 字符截?。▽?duì)中文、英文都可以進(jìn)行截?。? * @param string $string 字符串 * @...
摘要:字符串變量被解析。很顯然,代表,代表獲取字符串的長(zhǎng)度對(duì)于英文數(shù)字字母。你好,截取字符串對(duì)于純英文字符,可以使用對(duì)于中文字符,可以使用例如你好,世界查找字符串查找字符串,有內(nèi)置函數(shù)代表,應(yīng)該代表。當(dāng)然也有函數(shù)用于處理其他編碼的字符串。 1. 單引號(hào)和雙引號(hào) PHP可以在單引號(hào)或者雙引號(hào)中包含字符串。但是單引號(hào)和雙引號(hào)有所區(qū)別。 單引號(hào)包含的內(nèi)容會(huì)被認(rèn)為是普通字符串 雙引號(hào)中允許包含字符...
摘要:我的博客運(yùn)行以下代碼互聯(lián)網(wǎng)產(chǎn)品我們可能以為會(huì)得到的結(jié)果是互聯(lián)網(wǎng)產(chǎn)品,實(shí)際結(jié)果是互聯(lián)網(wǎng)產(chǎn)。所以在執(zhí)行的時(shí)候,通過(guò)字節(jié)比對(duì),會(huì)將去掉,導(dǎo)致了最后出現(xiàn)了亂碼。 我的博客 https://mengkang.net/1039.html 運(yùn)行以下代碼: $tag = 互聯(lián)網(wǎng)產(chǎn)品、; $text = rtrim($tag, 、); print_r($text); 我們可能以為會(huì)得到的結(jié)果是互聯(lián)網(wǎng)產(chǎn)品...
閱讀 1629·2021-11-16 11:45
閱讀 2560·2021-09-29 09:48
閱讀 3329·2021-09-07 10:26
閱讀 1850·2021-08-16 10:50
閱讀 1883·2019-08-30 15:44
閱讀 2709·2019-08-28 18:03
閱讀 1909·2019-08-27 10:54
閱讀 1834·2019-08-26 14:01