You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PHP DOM中限制字符串输出长度?RSS解析内容截取150字符

解决RSS描述内容截断到前150字符的问题

嘿,这个需求很容易实现!你只需要先拿到完整的description内容,再用PHP的字符串截断函数处理就行。这里要注意多字节字符(比如中文、特殊符号)的情况,避免截断后出现乱码,所以推荐用mb_substr而不是普通的substr。

直接上修改后的代码:

// 先获取完整的description文本内容
$full_description = $channel->getElementsByTagName('description')
    ->item(0)
    ->childNodes
    ->item(0)
    ->nodeValue;

// 修剪掉首尾空白,再截断到前150个字符(支持多字节编码)
$channel_desc = mb_substr(trim($full_description), 0, 150);

// 可选:如果原内容长度超过150,添加省略号提示用户内容被截断
if (mb_strlen($full_description) > 150) {
    $channel_desc .= '...';
}

为什么用mb_substr?

如果你的RSS内容包含中文、日文或者其他非ASCII字符,普通的substr是按字节数截断的,很容易把一个完整的字符劈成两半,导致乱码。而mb_substr是按字符数处理的,能完美适配多字节编码的文本。

如果你的RSS内容肯定是单字节编码(比如纯英文),用substr也可以,但mb_substr的兼容性更强,建议优先使用。

内容的提问来源于stack exchange,提问作者Dimas Lanjaka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 11:25:59