字串擷取

2021-07-16 08:57:09 字數 1841 閱讀 2337

/**

* 字串擷取,支援中文和其他編碼

* * @access public

* @param string $str

* 需要轉換的字串

* @param string $start

* 開始位置

* @param string $length

* 擷取長度

* @param string $charset

* 編碼格式

* @param string $suffix

* 截斷顯示字元

* @return string

*/function msubstr($str, $start = 0, $length, $charset = "utf-8", $suffix = true)

} else |[\xf0-\xff][\x80-\xbf]/";

$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 && $str != $slice ? $slice . '...' : $slice;

}/**

* 方法增強,根據$length自動判斷是否應該顯示...

* 字串擷取,支援中文和其他編碼

* * @access public

* @param string $str

* 需要轉換的字串

* @param string $start

* 開始位置

* @param string $length

* 擷取長度

* @param string $charset

* 編碼格式

* @param string $suffix

* 截斷顯示字元

* @return string

*/function msubstr_local($str, $start = 0, $length, $charset = "utf-8")

} else |[\xf0-\xff][\x80-\xbf]/";

$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 (strlen ( $str ) > strlen ( $slice )) ? $slice . '...' : $slice;

}

字串擷取

var 用 擷取 刪除左邊字元,保留右邊字元 echo 其中 var 是變數名,號是運算子,表示從左邊開始刪除第乙個 號及左邊的所有字元 結果 root localhost shell shell.sh 表示從左邊開始刪除最後 最右邊 乙個 號及左邊的所有字元 結果 將變數改為var 結果 輸出為空...

字串擷取

1.定義乙個字串a,擷取a 的某乙個專案組,複製給b,b必須是int型 nsstring a 1.2.30 int b a substringwithrange nsmakerange 4,2 intvalue nslog a n a nslog b d b output 2011 07 05 11...

字串擷取

擷取字串 substring a,b a 從0數,第a位開始 b 取b個字串 例如 substring 2,3 表示從0數到2,然後擷取3個字元 包括第2位字元 如果後面數字比前面數字大,那麼就會調換數字位置 如果substring a 中只有乙個數字,就是從0數到a,擷取到最後 包括a var s...