PHP中的substr函数用法是怎样的
大家都知道,PHP的substr函数是用来截取字符串的利器!它可以帮你从字符串中挑出想要的那一部分,超方便。它的基本语法是这样的:
- 必需参数:
string:你要操作的原始字符串。start:开始截取的起点,可以是正数或者负数,如果是负数就表示从字符串尾部开始算的位置。- 可选参数:
length:截取的长度,省略的话就从start开始截到字符串末尾。如果是负数,那么就会从尾部减掉相应的长度。
举个栗子:
$str = "Hello World!";
echo substr($str, 6); // 输出 World!
echo substr($str, 0, 5); // 输出 Hello
echo substr($str, 0, -2); // 输出 Hello Worl (去掉了末尾两个字符)
这下用substr截字符串,真的是又快又简单~

PHP截取字符串的常用函数有哪些 它们都有啥特点
说到截取字符串,除了substr,PHP还有几个好帮手,比如strpos和strstr,不过substr依然是大家最常用的。这里给你一个小清单,帮你搞清楚它们的基本玩法:
-
substr(string $string, int $offset, ?int $length = null): string
这个就是我们上面讲的,灵活又实用,可以从任意位置开始截取,长度也可以自由控制。 -
mb_substr(string $str, int $start, ?int $length = null, ?string $encoding = null): string
这个函数是substr的进阶版,特别适合处理中文、日文、韩文这样的多字节字符集,避免截取时出现乱码。它允许你指定字符编码,默认一般是UTF-8。 -
strpos和strstr
这两个尽管主要是查找字符串的位置或子串,但和截取功能配合起来用,也超级有效哦。
对了,有时候你会碰到mb_substr好像不起作用的情况,这时候可以试试以下方法:
- 确认你的脚本中设置了正确的编码,比如
mb_internal_encoding('UTF-8');和mb_http_output('UTF-8'); - 使用
mb_substr时一定要传入正确的编码参数,避免乱码。
用好了这些函数,处理字符串那就是小儿科了!

PHP中如何删除字符串末尾的字符 相关问题解答
说到这个,删除字符串末尾的几个字符确实很常见。你大可以用substr来实现,举个例子吧:
$str = "Hello World!";
$trimmedStr = substr($str, 0, -2); // 砍掉末尾两个字符
echo $trimmedStr; // 输出 Hello Worl
你瞧,这招简单粗暴,堪称神器了。另外,如果你需要处理中文或者其他多字节字符,记得改用mb_substr,要不然删一半,结果字符都乱套了,呵呵。
说说几个相关常见问题,顺带给大家点干货:
-
substr和mb_substr区别在哪儿?
哎,这俩看着像,其实差别大得很!substr适合英文、数字啥的单字节字符,用中文的话容易截断乱码。mb_substr专门为多字节字符设计,完美解决这个问题,所以处理中文啥的可千万别用错! -
如果我想删除字符串最后几个字符,但是长度不知道怎么办?
没事儿,你可以用strlen函数先算字符串长度,再动态计算substr的参数,比如substr($str, 0, strlen($str)-N),这样就可以任意删N个字符了。 -
PHP中截取字符串超过了长度会怎样?
超出长度别慌,substr它自己会自动截到字符串的最大长度,不会报错,也不会出bug,超省心! -
发现mb_substr不管用怎么办?
嘿,那你得检查一下是否设置了编码,比如在代码前加上mb_internal_encoding('UTF-8');,保证你的环境和代码编码统一,真的是能救你不少次哦!
这些小技巧,真心帮到你,尤其是在处理各种字符集的时候,省心又不头大!
本文来自作者[姜光济]投稿,不代表跃庆号立场,如若转载,请注明出处:https://www.mingcaifu.com/zlan/202512-k60kiK5Peam.html
评论列表(3条)
我是跃庆号的签约作者“姜光济”
本文概览:PHP中的substr函数用法是怎样的 大家都知道,PHP的函数是用来截取字符串的利器!它可以帮你从字符串中挑出想要的那一部分,超方便。它的基本语法是这样的: 必需参数: :...
文章不错《PHP字符串截取函数介绍 substr函数用法 PHP删除末尾字符技巧》内容很有帮助