正确截取字符串需根据内容类型选择方法:1. 纯英文数字用substr()按字节截取;2. 中文等多字节字符应使用mb_substr()按字符截取,避免乱码;3. 截取后可添加省略号提升体验,通过mb_strlen判断长度并拼接'...';4. 含HTML标签时先用strip_tags去除标签再截取,或使用DOM解析器保证标签完整。关键在于处理编码与格式,确保安全与显示正常。

在PHP开发中,经常需要对字符串进行截取操作,比如提取文章摘要、显示标题前几个字、处理用户输入等。正确使用截取方法不仅能提升用户体验,还能避免乱码、性能问题。以下是几种常见的内容截取技巧,适用于不同场景。
substr() 是PHP内置的字符串截取函数,适合处理纯英文、数字或ASCII字符。
基本语法:substr(string $string, int $start, ?int $length)
示例:
$str = "Hello World";
echo substr($str, 0, 5); // 输出:Hello
substr() 按字节截取,对于中文等多字节字符容易出现乱码,不推荐直接用于UTF-8中文字符串。
立即学习“PHP免费学习笔记(深入)”;
处理中文、日文、韩文等多字节字符时,应使用 mb_substr(),它支持指定字符编码。
本书以培养高级网站建设与管理人才为目标,内容循序渐进,由浅入深,通过大量的实例系统全面地介绍了Linux+PHP+MySQL环境下的网络后台开发技术。本书详尽分析了近30个典型案例。包括计数器、网站流量统计、留言板、论坛系统、聊天室、投票与调查、用户管理、新闻发布系统、广告轮播、购物系统等等,力求让读者通过对案例的学习,轻松掌握PHP和MySQL的编程精要,迅速掌握网络后台开发技巧。 本书适
466
mb_substr(string $str, int $start, ?int $length, string $encoding)
示例:
$str = "你好世界,欢迎使用PHP";
echo mb_substr($str, 0, 4, 'UTF-8'); // 输出:你好世界
常用于文章摘要或列表展示,控制显示长度并提示内容被截断。
示例代码:
function truncateText($text, $maxLength = 50) {
if (mb_strlen($text, 'UTF-8') > $maxLength) {
return mb_substr($text, 0, $maxLength, 'UTF-8') . '...';
}
return $text;
}
echo truncateText("这是一段很长的内容,需要截取显示", 10); // 输出:这是一段很长的内...
当内容包含HTML标签(如p、strong、a)时,直接截取可能破坏标签结构,导致页面错乱。
解决思路:
$cleanText = strip_tags($htmlContent);
echo mb_substr($cleanText, 0, 60, 'UTF-8') . '...';
基本上就这些。选择合适的截取方式,关键看内容类型和编码。处理中文优先用 mb_substr,带HTML需额外处理标签,展示摘要记得加省略号提升体验。不复杂但容易忽略细节,写好能少踩很多坑。
以上就是PHP截取内容_内容截取实用技巧分享的详细内容,更多请关注php中文网其它相关文章!
PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号