拆分字符串php的技术博客问答(php 分割)

  • 1、php拆分字符串
  • 2、PHP 拆分字符串
  • 3、php 分割获取字符串
  • 4、php如何平均分割字符串 例分割为四部分
  • 5、php如何分割中文字符串
  • 6、php语言中字符串分割用什么函数?

可以用正则和字符串分词~,下面这个是按照逗号或空格分词~

$str

=

‘豆瓣,人人,开心’;

$str4

=

str_replace(‘,’,’,’,$str);

//将中文逗号转换成英文逗号,很重要

$key

=

preg_split(‘/[\s,]+/’,$str4);

//分词功能

foreach($key

as

$value){

echo

$value;

echo

‘;

}

?php

$a = ‘030061010004020101’;

$b = str_replace(“0″,”-0″,$a);

$arr = explode(“-“,$b);

$arr_size = sizeof($arr)-1;

for ($i=0;$i=$arr_size;$i++) {

$c = str_replace(“0-0″,”00”,$b);

$c = str_replace(“0-0″,”00”,$c);

}

$c = substr($c,1);

$array = explode(“-“,$c);

print_r($array);

?

这个后面无限添加类似的数字也可以的

简单原理:把字符串“0”替换为“-0”,再按“-”拆分为数组。

然后把“0-0”形式的字符串替换为“00”。形成了如下的字符串:

-03-0061-01-0004-02-01-01

然后去掉字符串第一个字符“-”,再按“-”将字符串拆分为数组就完成了。

切出来比较好,

以空格为分界线,字符串就被切成一下几段:

1. 189267356

2. /data/crawlserver/21/save/2010/0806/32376/518006d71ff357beae97e23fd920c036.xml

3. 7[0.329708]

4. 4[0.200642]

5. 2[0.15909]

取中间的第一段,第四段即可

然后把第四段采用正则匹配的方式获取出第二第三个数即可,也可以用最简单原始的方式,先把’]’替换成空,仍然是切割,以'[‘为分隔符,得到了第二和第三个数

首先你要确认该字符串的编码

如果是gbk的编码 则一个汉字占用2个字节 如果是utf-8编码的话 则占用3个字节。

?

$s=’这是1个中英混合的abcd’;

$s=iconv(‘gbk’,’utf-8′,$s);

echo $len=strlen($s);//取得字符串长度 一个gbk汉字是占用2个字节 而utf-8是占3个字节

echo “br”;

echo $mblen=mb_strlen($s,’utf-8′);//获取单词的长度 一个汉字是1个字节

?

明白这个原理 就不难了 下面俺来写个函数给你

?

$s=’这是1个中英混合的abcd’;

$s=iconv(‘gbk’,’utf-8′,$s);//如果你确认你的字符串的编码是UTF-8就去掉这句

print_r(strSplit($s,4));

//字符串切割函数 str为字符串 num为每段分割为几

function strSplit($str,$num=4){

$len=mb_strlen($str,’utf-8′);//获取字符串长度 每个汉字算1

$partNum=ceil($len/$num);

$arr=array();

for($i=0;$i$partNum;$i++){

$begin=$i*$num;

$arr[]=iconv_substr($str,$begin,$num,’utf-8′);

}

return $arr;

}

?

php分割中文字符串,如果直接用PHP函数“str_split”来分割,会出现乱码,因为中文字符长度和英文字符长度是不一样的。

所以,可以建立新的函数先把字符转成ASCII值,接着通过判断不同字符的长度来正确分割中文字符串,把结果存入数组,最后再用PHP函数“join”在字符间插入百分号。

具体参考代码如下:

?php

function str_split_utf8($str){

 $split=1;

 $array=array();

 for($i=0;$istrlen($str)){

  $value=ord($str[$i]);

  if($value127){

   if($value=192$value=223) $split=2;

   elseif($value=224  $value=239) $split=3;

   elseif($value=240  $value=247) $split=4;

  }else{

   $split=1;

  }

  $key=NULL;

  for($j=0;$j$split;$j++,$i++){

   $key.=$str[$i];

  }

  array_push($array,$key);

 }

 return $array;

}

$string=”百度知道”;

$arr1=str_split_utf8($string);

echo join(“%”,$arr1);

?

“php分割字符串的函数有explode()和str_split() explode()”【摘要】

php语言中字符串分割用什么函数?【提问】

“php分割字符串的函数有explode()和str_split() explode()”【回答】

explode() 函数使用一个字符串分割另一个字符串,并返回由字符串组成的数组。【回答】

原创文章,作者:S0X0W,如若转载,请注明出处:https://www.506064.com/n/126538.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
S0X0WS0X0W
上一篇 2024-10-03 23:08
下一篇 2024-10-03 23:08

相关推荐

  • Python字符串宽度不限制怎么打代码

    本文将为大家详细介绍Python字符串宽度不限制时如何打代码的几个方面。 一、保持代码风格的统一 在Python字符串宽度不限制的情况下,我们可以写出很长很长的一行代码。但是,为了…

    编程 2025-04-29
  • Python中将字符串转化为浮点数

    本文将介绍在Python中将字符串转化为浮点数的常用方法。在介绍方法之前,我们先来思考一下这个问题应该如何解决。 一、eval函数 在Python中,最简单、最常用的将字符串转化为…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • Python学习笔记:去除字符串最后一个字符的方法

    本文将从多个方面详细阐述如何通过Python去除字符串最后一个字符,包括使用切片、pop()、删除、替换等方法来实现。 一、字符串切片 在Python中,可以通过字符串切片的方式来…

    编程 2025-04-29
  • Python热重载技术

    Python热重载技术是现代编程的关键功能之一。它可以帮助我们在程序运行的过程中,更新代码而无需重新启动程序。本文将会全方位地介绍Python热重载的实现方法和应用场景。 一、实现…

    编程 2025-04-29
  • Python包络平滑技术解析

    本文将从以下几个方面对Python包络平滑技术进行详细的阐述,包括: 什么是包络平滑技术? Python中使用包络平滑技术的方法有哪些? 包络平滑技术在具体应用中的实际效果 一、包…

    编程 2025-04-29
  • Python如何将字符串1234变成数字1234

    Python作为一种广泛使用的编程语言,对于数字和字符串的处理提供了很多便捷的方式。如何将字符串“1234”转化成数字“1234”呢?下面将从多个方面详细阐述Python如何将字符…

    编程 2025-04-29
  • Python int转二进制字符串

    本文将从以下几个方面对Python中将int类型转换为二进制字符串进行详细阐述: 一、int类型和二进制字符串的定义 在Python中,int类型表示整数,二进制字符串则是由0和1…

    编程 2025-04-29
  • 微信小程序重构H5技术方案设计 Github

    本文旨在探讨如何在微信小程序中重构H5技术方案,以及如何结合Github进行代码存储和版本管理。我们将从以下几个方面进行讨论: 一、小程序与H5技术对比 微信小程序与H5技术都可以…

    编程 2025-04-28
  • parent.$.dialog是什么技术的语法

    parent.$.dialog是一种基于jQuery插件的弹出式对话框技术,它提供了一个方便快捷的方式来创建各种类型和样式的弹出式对话框。它是对于在网站开发中常见的弹窗、提示框等交…

    编程 2025-04-28

发表回复

登录后才能评论