拆分字符串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/zh-hant/n/126538.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
S0X0W的頭像S0X0W
上一篇 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

發表回復

登錄後才能評論