PHP截取内容_内容截取实用技巧分享

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

php截取内容_内容截取实用技巧分享

在PHP开发中,经常需要对字符串进行截取操作,比如提取文章摘要、显示标题前几个字、处理用户输入等。正确使用截取方法不仅能提升用户体验,还能避免乱码、性能问题。以下是几种常见的内容截取技巧,适用于不同场景。

1. 使用 substr() 截取英文和数字

substr() 是PHP内置的字符串截取函数,适合处理纯英文、数字或ASCII字符。

基本语法:

substr(string $string, int $start, ?int $length)

示例:

$str = "Hello World";
echo substr($str, 0, 5); // 输出:Hello

注意:

substr() 按字节截取,对于中文等多字节字符容易出现乱码,不推荐直接用于UTF-8中文字符串。

立即学习PHP免费学习笔记(深入)”;

2. 使用 mb_substr() 安全截取中文

处理中文、日文、韩文等多字节字符时,应使用 mb_substr(),它支持指定字符编码

Linux+PHP+MySQL案例教程
Linux+PHP+MySQL案例教程

本书以培养高级网站建设与管理人才为目标,内容循序渐进,由浅入深,通过大量的实例系统全面地介绍了Linux+PHP+MySQL环境下的网络后台开发技术。本书详尽分析了近30个典型案例。包括计数器、网站流量统计、留言板、论坛系统、聊天室、投票与调查、用户管理、新闻发布系统、广告轮播、购物系统等等,力求让读者通过对案例的学习,轻松掌握PHP和MySQL的编程精要,迅速掌握网络后台开发技巧。   本书适

Linux+PHP+MySQL案例教程 466
查看详情 Linux+PHP+MySQL案例教程
基本语法:

mb_substr(string $str, int $start, ?int $length, string $encoding)

示例:

$str = "你好世界,欢迎使用PHP";
echo mb_substr($str, 0, 4, 'UTF-8'); // 输出:你好世界

优势:
  • 按字符而非字节截取,避免乱码
  • 支持多种编码(UTF-8、GBK等)
  • 是处理国际化内容的首选方法

3. 截取后添加省略号(...)的实用技巧

常用于文章摘要或列表展示,控制显示长度并提示内容被截断。

示例代码:

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); // 输出:这是一段很长的内...

4. 按HTML标签安全截取(保留格式)

当内容包含HTML标签(如p、strong、a)时,直接截取可能破坏标签结构,导致页面错乱。

解决思路:
  • 先去除标签获取纯文本长度
  • 或使用DOM解析器精确控制
  • 也可借助第三方库如 htmlcut 或自定义函数
简易方案(去除标签后截取):

$cleanText = strip_tags($htmlContent);
echo mb_substr($cleanText, 0, 60, 'UTF-8') . '...';

基本上就这些。选择合适的截取方式,关键看内容类型和编码。处理中文优先用 mb_substr,带HTML需额外处理标签,展示摘要记得加省略号提升体验。不复杂但容易忽略细节,写好能少踩很多坑。

以上就是PHP截取内容_内容截取实用技巧分享的详细内容,更多请关注php中文网其它相关文章!

PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号