当前位置:首页 » 编程语言 » php分割

php分割

发布时间: 2022-01-10 07:07:27

php分割字符串

/**
*宽字符串分割
*
*@paramunknown_type$str
*@returnunknown
*/
functionsplit($str){
$ret=array();
$len=strlen($str);
for($i=0;$i<$len;$i++){
//判断编码位数
$code=ord($str[$i]);
//单字节0
if($code>>7==0){
$ret[]=$str[$i];
}
//4字节1111
elseif($code>>4==15){
if($i<$len-3){
$ret[]=$str[$i].$str[$i+1].$str[$i+2]+$str[$i+3];
$i+=3;
}
}
//3字节111
elseif($code>>5==7){
if($i<$len-2){
$ret[]=$str[$i].$str[$i+1].$str[$i+2];
$i+=2;
}
}
//双字节11
elseif($code>>6==3){
if($i<$len-1){
$ret[]=$str[$i].$str[$i+1];
$i+=1;
}
}
}
return$ret;
}

上面是分隔中文字串为数组的.

这种方式性能比正则表达式要高点. GBK , UTF-8 编码都是支持的.

分隔完毕之后, 你在循环数组, 设置步长为3 . 然后就可以拼接出你要的了.

⑵ PHP分割字符串

假设你的这个字符串名为$str
$str = 'john123mike33lily51';
$name = preg_split("/[\d]+/", $str);
$number = preg_split("/[a-z|A-Z]+/", $str);

那么$name就是名字数组,$number是数字数组。其中应用到了正则表达式

⑶ php 分割字符串

这100分来得好爽哦,楼上的正解。

关于str_split的详细例子程序:

<?php

$str="HelloFriend";

$arr1=str_split($str);
$arr2=str_split($str,3);

print_r($arr1);
print_r($arr2);

?>
上例将输出:

Array
(
[0]=>H
[1]=>e
[2]=>l
[3]=>l
[4]=>o
[5]=>
[6]=>F
[7]=>r
[8]=>i
[9]=>e
[10]=>n
[11]=>d
)

Array
(
[0]=>Hel
[1]=>lo
[2]=>Fri
[3]=>end
)

但是,str_split不支持汉字,会把汉字分为两半,需要把汉字当为一个字符进行处理的时候,需要自己编写函数。

⑷ PHP中如何分割字符串

最常用函数 substr(); 不考虑性能情况下的,万能分割函数
$str = "hello";
substr($str,1); // ello
substr($str,0,3); // hel
substr($str,3,1); // l
不用我再解释吧

⑸ php 数字符号分隔如何实现

<?php
class Cart{
protected $_data;

/**
* 取出串
* @return string
*/
public function getData(){
return $this->_data;
}

/**
* 设置串
* @param string $data
* @return boolean
*/
public function setData($data){
$data = trim($data);
$pattern = '/^(\d+,[\w\d]+,\d+@)*$/';
$valid = preg_match($pattern, $data);
if($valid){
$this->_data = $data;
return true;
}
return false;
}

/**
* 添加商品,当商品存在时修改数量,注意$number为负数时可以减少数量,且数量<=0会删除商品
* @param int $id
* @param int|string $type
* @param int $number
* @return null
*/
public function addItem($id,$type,$number){
$currentNumber = $this->getItemNumber($id);
if(!$currentNumber){
$number>0 && $this->_data .= "$id,$type,$number@";
}else{
$this->modifyItem($id, $number+$currentNumber);
}
}

/**
* 修改某个商品数量,如<=0,直接删除
* @param int $id
* @param int $number
* @return boolean
*/
public function modifyItem($id, $number){
if(!$this->getItemNumber($id)){
return false;
}
if($number<=0){
return $this->deleteItem($id);
}
$pattern = "/$id,([\w\d])+,\d+@/";
$replacement = "$id,\${1},$number@";
$this->_data = preg_replace($pattern, $replacement, $this->_data);
return true;
}

/**
* 取得某个商品已有数量
* @param int $id
* @return int
*/
public function getItemNumber($id){
$pattern="/$id,[\w\d]+,(\d+)@/";
preg_match($pattern, $this->_data, $match);
return empty($match)? 0:$match[1];
}

/**
* 读取数据
* @return array
*/
public function getItemList(){
$list = array();
$items = trim($this->_data, '@');
$items = explode('@', $items);
foreach($items as $item){
$item = explode(',', $item);
array_push($list, array('id'=>$item[0], 'type'=>$item[1], 'number'=>$item[2]));
}
return $list;
}

/**
* 删除商品
* @param int $id
* @return boolean
*/
public function deleteItem($id){
if(!$this->getItemNumber($id)){//不存在
return false;
}
$pattern = "/$id,[\w\d]+,\d+@/";
$replacement = '';
$this->_data = preg_replace($pattern, $replacement, $this->_data);
return true;
}
}
?>
现写的,不过因为时间原因,没有仔细检查测试,不过如果这样都不被采纳我就无奈了。。

⑹ 请问如何用PHP分割内容

$arr1=explode("\n",$imgtxt);

for($arr1 as $v){
$arr2=explode("::::::",$v);
echo "<img src=\"".$arr2[1]."\" alt=\"".$arr2[0]."\" width=\"".$arr2[2]."\" height=\"".$arr2[3]."\">";

}

⑺ 怎么用php分割出这样的内容

$arr = explode('###',$str);

$str2 = '';

foreach($arr as $v){

$text = explode('$',$v)[0];

$url = explode('$',$v)[1];

$str2 += "<li><a href='{$url}'>{$text}</a></li>";

}

echo $str2;

基本思路就是

  1. 先把每条的数据拿出来,用###分割的

  2. 每条数据中用$分割的 ,第一部分是展现是的文字,第二部分是url

  3. 组合字符串展示出来

⑻ php中如何分割文本

PHP用空格分割文本为数组的方法:

php逐行读取文本文件,然后处理空格分隔文本,输出为数组的方法。
文本文档text.txt内容:
1 字段1 字段2 2 字段1 字段2 3 字段1 字段2 4 字段1 字段2
文本和文本之间用空格隔开,用php经过处理,输出为数组,以下是代码:
< php $file = fopen("text.txt", "r") or exit("Unable to open file!");
while(!feof($file)) { $arr = split(' ' , fgets($file)); print_r($arr); } fclose($file); >
输出结果:
Array ( [0] => 1 [1] => 字段1 [2] => 字段2 ) Array ( [0] => 2 [1] => 字段1 [2] => 字段2 ) Array ( [0] => 3 [1] => 字段1 [2] => 字段2 ) Array ( [0] => 4 [1] => 字段1 [2] => 字段2 )
这样就实现了PHP用空格分割文本为数组的方法.

⑼ php 分割获取字符串

我们在使用PHP语言进行编程操作时,通常都会对字符串进行增减,改变等。那么,如何才能实现PHP分割字符串的功能呢?在接下来的文章中我们将会为大家详细介绍。

PHP分割字符串代码示例:

< ?php
$str = ’1234′;
$arr = str_split($str);
print_r($arr);
?>
结果 : Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 )

定义和用法
str_split() 函数把字符串分割到数组中。

语法 length 表示每个字符串的个数

str_split(string,length) 默认长度是1 上面如果是str_split($str,2) 结果为Array ( [0] => 12 [1] => 34)

如果是$str=’1 2 3 4′ 这个时候就用 explode()函数 explode(‘ ‘,$str) 按照空格分开

如果是一篇文章的内容时候截取方法是按照字符的个数:用到strlen()函数和substr()字符串截取函数来实现PHP分割字符串的功能,如:

< ?php $len=strlen($row['game_detail']);
//获取这个字符串的长度;
if($len>102)
//判断字符串如果大于102就输出102个字符串。
{ echo $s=substr($row['game_detail'],
0,102); echo '...';
}
else{ echo $row["game_detail"];
//否则就输出全部;
}
?>
也就是在输出前做个判断。。strlen(字符串名称)。。substr(字符串,0,102)要分割的范围0-103。以上这些就是PHP分割字符串的全部方法,希望大家有所掌握。

⑽ php 分割数组数据

str_split函数能实现你这样的功能,把字符串按长度分割为数组,例如:

<?php

$str="HelloFriend";

$arr1=str_split($str);
$arr2=str_split($str,3);

print_r($arr1);
print_r($arr2);

?>

代码输出的结果如下:

Array
(
[0]=>H
[1]=>e
[2]=>l
[3]=>l
[4]=>o
[5]=>
[6]=>F
[7]=>r
[8]=>i
[9]=>e
[10]=>n
[11]=>d
)

Array
(
[0]=>Hel
[1]=>lo
[2]=>Fri
[3]=>end
)
热点内容
22款奔驰e买哪个配置 发布:2024-12-25 20:54:08 浏览:737
金铲铲之战怎么看之前的服务器 发布:2024-12-25 20:52:36 浏览:448
unix环境高级编程英文版 发布:2024-12-25 20:50:35 浏览:291
我的世界电脑版服务器如何改实验模式 发布:2024-12-25 20:41:57 浏览:129
数据库删过程 发布:2024-12-25 20:39:38 浏览:447
创建sql存储过程 发布:2024-12-25 20:29:14 浏览:531
python目录存在 发布:2024-12-25 20:18:51 浏览:672
防止反编译的代码 发布:2024-12-25 20:18:03 浏览:70
多开服务器系统怎么优化 发布:2024-12-25 20:16:39 浏览:83
php过滤html函数 发布:2024-12-25 20:09:19 浏览:173