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

如何用Twig实现PHP中mb_substr()的UTF-8兼容功能?

用Twig实现UTF-8安全的字符串截断(对应PHP的mb_substr)

要实现和PHP代码<?php echo mb_substr($logged_text, 0, 12, "utf-8"); ?>完全相同的功能,直接用Twig的slice过滤器即可,它本身就支持UTF-8安全截断:

  • 核心写法:
    {{ logged_text|slice(0, 12) }}
    

关键说明:

  • slice的参数顺序和mb_substr一致:第一个参数是起始索引(这里为0,从字符串开头开始),第二个参数是截取长度(这里为12)。
  • Twig默认使用UTF-8作为字符集,只要你的PHP环境启用了mbstring扩展,slice就会像mb_substr一样正确处理多字节字符,不会出现截断半个UTF-8字符的情况。
  • 如果字符串长度不足12,slice会自动返回整个字符串,和mb_substr的行为完全一致。

可选:明确指定字符集(确保环境兼容性)

如果需要强制确保字符集为UTF-8,可以在初始化Twig环境时配置:

$twig = new Twig\Environment($loader, [
    'charset' => 'UTF-8',
]);

不过大多数情况下,Twig的默认配置已经是UTF-8,无需额外设置。

内容的提问来源于stack exchange,提问作者Martin AJ

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 05:21:29