Hello! 欢迎来到小浪资源网!

PHP字符串处理:如何高效去除逗号分隔字符串中特定长度的子串?


PHP字符串处理:如何高效去除逗号分隔字符串中特定长度的子串?

php 处理:去除字符串中特定长度部分

在处理字符串时,去除特定长度的部分是一个常见需求。以逗号分隔的字符串中,目标是剔除长度小于等于 2 和大于等于 3 的部分。

提供的函数 p_str() 使用 count_strlen() 函数判断字符串长度。然而,count_strlen() 使用 iconv_strlen() 函数,后者只支持 utf-8、gbk、latin1 和 big5 编码。为了确保在不同的编码情况下都能正确计算长度,可以使用 mb_strlen() 函数,它支持多种编码类型。

修改后的代码如下:

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

function p_str($str) {     $arr = explode(',', $str);     $result = [];     foreach ($arr as $value) {         if (mb_strlen($value) > 2 && mb_strlen($value) < 3 && !in_array($value, $result)) {             $result[] = $value;         }     }     return implode(',', $result); }

此外,提供的替代方案直接使用 mb_strlen() 函数,并利用 array_filter() 函数过滤数组中的元素,删除不符合长度要求的字符串。这种方法同样有效,并且在不同的编码情况下也能正常工作。

相关阅读