Home >Backend Development >PHP Tutorial >Usage and differences of substr(), mb_substr() and mb_strcut functions_PHP tutorial
In PHP, the three functions substr(), mb_substr() and mb_strcut are all character interception functions. However, when substr intercepts Chinese characters, there will be garbled characters. The latter two support Chinese interception. Let me introduce them below.
substr() function
substr(string,start,length)
String represents the object to be intercepted, start represents the position from which to intercept, 0 represents the beginning, a positive number represents the interception from the end of this number, and a negative number represents the interception position starting from the end, but still from left to Right truncation, length indicates the truncation length. A negative number indicates how many characters at the end are excluded or ignored. For example:
代码如下 | 复制代码 |
$siteurl = 'www.bKjia.c0m'; print_r (substr($siteurl,4));exit; |
//Return: bKjia.c0m means starting from the 4th character from the beginning and returning all subsequent characters.
The code is as follows | Copy code | ||||
|
代码如下 | 复制代码 |
echo mb_substr('这样一来我的字符串就不会有乱码^_^', 0, 7, 'utf-8'); |
For example:
The code is as follows | Copy code | ||||
|
代码如下 | 复制代码 |
echo mb_substr('飞花院博客feihuayuan',0,9); echo mb_substr('飞花院博客feihuayuan',0,9,'utf-8'); mb_strcut('飞花院博客feihuayuan',0,9,'utf-8'); |
The code is as follows | Copy code |
echo mb_strcut('This way my string will not be garbled^_^', 0, 7, 'utf-8');<🎜> ?> |
The code is as follows | Copy code |
echo mb_substr('feihuayuan blog feihuayuan',0,9);<🎜> //Return to: Feihuayuan<🎜> <🎜>echo mb_substr('feihuayuan blog feihuayuan',0,9,'utf-8');<🎜> //Return: Feihuayuan Blog feih<🎜> <🎜>mb_strcut('Feihuayuan blog feihuayuan',0,9,'utf-8');<🎜> Then return: Feihuayuan<🎜> ?> |
For another example, there is a piece of text that is segmented using mb_substr and mb_strcut respectively:
PLAIN TEXT
CODE:
The code is as follows
|
Copy code
|
||||
$str = 'I am a relatively long string of Chinese-'; echo "mb_substr:" . mb_substr($str, 0, 6, 'utf-8');
echo " echo "mb_strcut:" . mb_strcut($str, 0, 6, 'utf-8'); ?> |
The output results are as follows: