本文实例讲述了PHP字符串中抽取子串操作。分享给大家供大家参考,具体如下:
问题
希望从字符串的某个特定位置开始抽取这个字符串的一部分。例如,对于输入到一个表单的用户名,想要得到这个用户名的前8个字符。
解决
使用substr()
选择子串
1
2
|
$substring = substr ( $string , $start , $length );
$username = substr ( $_GET [ 'username' ],0,8);
|
讨论
1.如果$strart和$length都是正数,substr()
会返回字符串从$start开始的$lenfth个字符。字符的第一个位置为0。
1
|
echo substr ( 'I Love PHP!' ,3,5);
|
ove P
如果忽略$length,substr()
会返回从$strart到原字符串末尾的子串。
起始位置为正数,未指定长度
1
|
echo substr ( 'I Love PHP!' ,3);
|
ove PHP!
如果$start大于字符串的长度,substr()
将会返回false
如果$start加 $length 超过了字符串末尾,substr()
将返回从$start开始到字符串末尾的所有字符
1
|
echo substr ( 'I Love PHP!' ,3,9);
|
ove PHP!
如果 $start 为负数, substr()
会从字符串末尾倒数来确定子串从哪里开始
1
|
echo substr ( 'I Love PHP!' ,-4);
|
PHP!
1
|
echo substr ( 'I Love PHP!' ,-4,3);
|
PHP
如果 $start 值为负数,而且超过了字符串的开始位置, substr()
就会把 $start 当作 0 来处理
如果 $length 为负数, substr()
会从字符串末尾倒数来确定到哪里结束
1
|
echo substr ( 'I Love PHP!' ,3,-1);
|
Love PHP
1
|
echo substr ( 'I Love PHP!' ,-4,-2);
|
PH
参见
substr()
的有关文档
希望本文所述对大家PHP程序设计有所帮助。
原文链接:https://www.cnblogs.com/bookfrank/p/6403456.html