- 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-hk/n/126538.html