成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

PHP之mb_substr使用

eechen / 1826人閱讀

摘要:獲取部分字符串根據(jù)字符數(shù)執(zhí)行一個(gè)多字節(jié)安全的操作。位置是從的開(kāi)始位置進(jìn)行計(jì)數(shù)。第一個(gè)字符的位置是。從該中提取子字符串。中要使用的最大字符數(shù)。如果省略,則使用內(nèi)部字符編碼。函數(shù)根據(jù)和參數(shù)返回中指定的部分。

mb_substr

(PHP 4 >= 4.0.6, PHP 5, PHP 7)

mb_substr — Get part of string

mb_substr — 獲取部分字符串

Description
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 中提取子字符串。

start

If 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)始的。

length

Maximum 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ì)提取到字符串的尾部。

encoding

The encoding parameter is the character encoding. If it is omitted, the internal character encoding value will be used.

encoding 參數(shù)為字符編碼。如果省略,則使用內(nèi)部字符編碼。

Return Values

mb_substr() returns the portion of str specified by the start and length parameters.

mb_substr() 函數(shù)根據(jù) start 和 length 參數(shù)返回 str 中指定的部分。

Changelog

5.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.

Examples
 0  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

相關(guān)文章

  • PHP】substr()和mb_substr()的差別

    摘要:最近遇到一個(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); // 天周...

    greatwhole 評(píng)論0 收藏0
  • PHP 字符串截取字符串函數(shù)

    摘要:應(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 字符串 * @...

    godiscoder 評(píng)論0 收藏0
  • PHP字符串操作

    摘要:字符串變量被解析。很顯然,代表,代表獲取字符串的長(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)中允許包含字符...

    taoszu 評(píng)論0 收藏0
  • PHP 源碼探秘 - 為什么 trim 會(huì)導(dǎ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)品...

    xbynet 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<