當前位置:首頁 » 編程語言 » 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
)
熱點內容
櫻花伺服器測試ip 發布:2024-09-20 20:10:39 瀏覽:279
爐石傳說安卓怎麼玩 發布:2024-09-20 20:09:59 瀏覽:312
ios開會員為什麼比安卓貴 發布:2024-09-20 20:09:55 瀏覽:568
緩存伺服器redis 發布:2024-09-20 20:09:01 瀏覽:75
優酷上傳ts 發布:2024-09-20 19:55:58 瀏覽:273
minecraft怎麼開伺服器地址 發布:2024-09-20 19:52:14 瀏覽:651
android彈出布局 發布:2024-09-20 19:14:29 瀏覽:981
預演算法包括 發布:2024-09-20 18:52:07 瀏覽:764
什麼數字後面跟著密碼 發布:2024-09-20 18:52:07 瀏覽:878
訂座源碼 發布:2024-09-20 18:52:06 瀏覽:383