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

正确截取字符串需根据内容类型选择方法: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中文网其它相关文章!

https://www.php.cn/faq/1755290.html

发表回复

Your email address will not be published. Required fields are marked *