当前位置: 首页 > 编程笔记 >

支持中文的PHP按字符串长度分割成数组代码

濮阳俊明
2023-03-14
本文向大家介绍支持中文的PHP按字符串长度分割成数组代码,包括了支持中文的PHP按字符串长度分割成数组代码的使用技巧和注意事项,需要的朋友参考一下

以下是我编写的代码,实现对中英文混杂字符进行分割:

<?php
function mbStrSplit ($string, $len=1) {
  $start = 0;
  $strlen = mb_strlen($string);
  while ($strlen) {
    $array[] = mb_substr($string,$start,$len,"utf8");
    $string = mb_substr($string, $len, $strlen,"utf8");
    $strlen = mb_strlen($string);
  }
  return $array;
}

header('Content-type:text/html;charset=utf-8');
$str = '我爱北京3我爱上海-我爱xianggang';
$r = mbStrSplit($str, 4);
echo '<pre>';
print_r($r);
echo '</pre>';
?>

运行结果:

Array
(
  [0] => 我爱北京
  [1] => 3我爱上
  [2] => 海-我爱
  [3] => xian
  [4] => ggan
  [5] => g
)

<?php
 function str_split_unicode($str, $l = 0) {
 if ($l > 0) {
 $ret = array();
 $len = mb_strlen($str,"UTF-8");
 for ($i = 0; $i < $len; $i += $l) {
 $ret[] = mb_substr($str, $i, $l,"UTF-8");
}
 return $ret;
}
 return preg_split("//u", $str, -1, PREG_SPLIT_NO_EMPTY);
}
?>
 $s ="还未如愿sss见gfg者不rtret不朽"; // Mild milk
 print_r(str_split($s, 5));
 print_r(str_split_unicode($s, 5));

//输出
 //Array ( [0] => 还�� [1] => �如� [2] => ��sss [3] => 见gf [4] => g者� [5] => ��rtr [6] => et不 [7] => 朽 )
 //Array ( [0] => 还未如愿s [1] => ss见gf [2] => g者不rt [3] => ret不朽 )

以上所述就是本文的全部内容了,希望大家能够喜欢。

 类似资料:
  • 本文向大家介绍php把字符串指定字符分割成数组的方法,包括了php把字符串指定字符分割成数组的方法的使用技巧和注意事项,需要的朋友参考一下 实例如下: 把$str按|进行分割 php还有其他的把字符串指定字符分割成数组 参数 描述 string 必需。规定要分割的字符串。 length 可选。规定每个数组元素的长度。默认是 1。 json_decode()这个函数也可以把字符串分割成数组 (第二个

  • 问题内容: 有没有办法在不知道字符串长度的情况下,将一个字符长的字符串切成4个字符串,每个字符长? 例如: 问题答案:

  • 本文向大家介绍如何获取PHP数组中最长字符串的长度,包括了如何获取PHP数组中最长字符串的长度的使用技巧和注意事项,需要的朋友参考一下 array_map函数可用于获取长度,而max函数可用于获取最长字符串的长度。 以下是相同的代码示例- 示例 输出结果 这将产生以下输出-

  • 本文向大家介绍JS中split()用法(将字符串按指定符号分割成数组),包括了JS中split()用法(将字符串按指定符号分割成数组)的使用技巧和注意事项,需要的朋友参考一下 废话不多说了,直接给大家贴代码。 以上所述是小编给大家介绍的JS中split()用法(将字符串按指定符号分割成数组),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对呐喊教程网站的

  • 问题内容: 我有一个长度为141个字符的字符串。使用以下代码,如果字符串大于或小于140,我有一条语句返回一条消息。 我在$ message上使用了var_dump,它显示的字符串是。这是我的问题:当我将语句的编号更改为和时,尽管字符串大于131,它仍然返回第一条消息。 无论我使用的数字少于141,我总是得到“没有比赛”。回到我身边。 问题答案: 尝试使用通用语法:

  • 本文向大家介绍C#按特定字符分割字符串,包括了C#按特定字符分割字符串的使用技巧和注意事项,需要的朋友参考一下 示例