国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

PHP之mb_substr使用

eechen / 1827人閱讀

摘要:獲取部分字符串根據字符數執行一個多字節安全的操作。位置是從的開始位置進行計數。第一個字符的位置是。從該中提取子字符串。中要使用的最大字符數。如果省略,則使用內部字符編碼。函數根據和參數返回中指定的部分。

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.
//根據字符數執行一個多字節安全的 substr() 操作。 位置是從 str 的開始位置進行計數。 第一個字符的位置是 0。第二個字符的位置是 1,以此類推。
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 不是負數,返回的字符串會從 str 第 start 的位置開始,從 0 開始計數。舉個例子,字符串 "abcdef",位置 0 的字符是 "a",位置 2 的字符是 "c",以此類推。

If start is negative, the returned string will start at the start"th character from the end of str.

如果 start 是負數,返回的字符串是從 str 末尾處第 start 個字符開始的。

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 中要使用的最大字符數。如果省略了此參數或者傳入了 NULL,則會提取到字符串的尾部。

encoding

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

encoding 參數為字符編碼。如果省略,則使用內部字符編碼。

Return Values

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

mb_substr() 函數根據 start 和 length 參數返回 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 你好 中國" ) . PHP_EOL; //Hello world 你好 中國

/**
 * @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...

轉載注明出處

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/28202.html

相關文章

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

    摘要:最近遇到一個問題,太久沒有使用來對字符串進行處理根據字符數截取今天周五了今天周五天周五了了了 最近遇到一個問題,太久沒有使用substr來對字符串進行處理 mb_substr(); // 根據字符數截取 $str = 今天周五了friday; echo mb_substr($str, 0, 4); // 今天周五 echo mb_substr($str, 1, 4); // 天周...

    greatwhole 評論0 收藏0
  • PHP 字符串截取字符串函數

    摘要:應用場景從數據庫讀取產品標題過長時,會導致布局混亂,我們可以使用字符串截斷函數進行截斷,用代替截斷部分。 應用場景 從數據庫讀取產品標題過長時,會導致布局混亂,我們可以使用字符串截斷函數進行截斷,用...代替截斷部分。 函數代碼 /** * 字符截?。▽χ形?、英文都可以進行截取) * @param string $string 字符串 * @...

    godiscoder 評論0 收藏0
  • PHP字符串操作

    摘要:字符串變量被解析。很顯然,代表,代表獲取字符串的長度對于英文數字字母。你好,截取字符串對于純英文字符,可以使用對于中文字符,可以使用例如你好,世界查找字符串查找字符串,有內置函數代表,應該代表。當然也有函數用于處理其他編碼的字符串。 1. 單引號和雙引號 PHP可以在單引號或者雙引號中包含字符串。但是單引號和雙引號有所區別。 單引號包含的內容會被認為是普通字符串 雙引號中允許包含字符...

    taoszu 評論0 收藏0
  • PHP 源碼探秘 - 為什么 trim 會導致亂碼

    摘要:我的博客運行以下代碼互聯網產品我們可能以為會得到的結果是互聯網產品,實際結果是互聯網產。所以在執行的時候,通過字節比對,會將去掉,導致了最后出現了亂碼。 我的博客 https://mengkang.net/1039.html 運行以下代碼: $tag = 互聯網產品、; $text = rtrim($tag, 、); print_r($text); 我們可能以為會得到的結果是互聯網產品...

    xbynet 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<