php 返回html字符串长度限制,记一次js中和php中的字符串长度计算截取的终极问题和完美...
发布日期:2025-05-03 02:43:24
浏览次数:13
分类:精选文章
本文共 1065 字,大约阅读时间需要 3 分钟。
在处理字符串长度计算时,特别是在处理多字节字符编码的语言(如UTF-8)时,常常需要根据实际显示宽度来决定字符串的长度。以下是针对不同语言的解决方案:
对于JavaScript,可以通过遍历每个字符的charCodeAt()方法来计算字节数,然后根据实际字符宽度进行调整。例如:
function getStringWidth(s) { let length = 0; for (let i = 0; i < s.length; i++) { const code = s.charCodeAt(i); if (code <= 255) { length++; } else { length += 0.5; } } return Math.ceil(length);} 对于PHP,则可以通过逐字符截断字符串来计算实际显示的宽度。例如:
function get_string_width($s) { $length = 0; while (strlen($s) > 0) { $old_length = strlen($s); $s = mb_substr($s, 0, -1, 'utf-8'); if (($old_length - strlen($s)) == 1) { $length += 0.5; } else { $length += 1; } } return ceil($length);} 基于上述方法,可以实现对字符串长度的精确计算。例如,截取字符串的函数可以如下实现:
function cut_string($s, $l = 140) { $length = get_string_width($s); if ($length > $l) { while (get_string_width($s . '...') <= $l) { $s = mb_substr($s, 0, -1, 'utf-8'); } $s .= '...'; } return $s;} 这些方法能够有效地处理不同编码下的字符串长度问题,确保计算结果符合实际显示的字符宽度。
发表评论
最新留言
哈哈,博客排版真的漂亮呢~
[***.90.31.176]2026年05月30日 19时54分27秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!