A. php拆分字元串
可以用正則和字元串分詞~,下面這個是按照逗號或空格分詞~
$str = '豆瓣,人人,開心';
$str4 = str_replace(',',',',$str); //將中文逗號轉換成英文逗號,很重要
$key = preg_split('/[\s,]+/',$str4); //分詞功能
foreach($key as $value){
echo $value;
echo '<br />';
}
B. PHP分割字元串
假設你的這個字元串名為$str
$str = 'john123mike33lily51';
$name = preg_split("/[\d]+/", $str);
$number = preg_split("/[a-z|A-Z]+/", $str);
那麼$name就是名字數組,$number是數字數組。其中應用到了正則表達式
C. 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不支持漢字,會把漢字分為兩半,需要把漢字當為一個字元進行處理的時候,需要自己編寫函數。
D. php字元串分割問題
E. php根據換行分割字元串
Windows下是以\r\n換行。不過結果是一樣的啦(你也可以分割好後再替換掉\r。其實如果你輸出的話瀏覽器是會忽略\r的),只要不是蘋果機(以\r換行)就不會出問題。
F. 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分割字元串的全部方法,希望大家有所掌握。
G. 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 . 然後就可以拼接出你要的了.
H. php如何分割中文字元串
php分割中文字元串,如果直接用PHP函數「str_split」來分割,會出現亂碼,因為中文字元長度和英文字元長度是不一樣的。
所以,可以建立新的函數先把字元轉成ASCII值,接著通過判斷不同字元的長度來正確分割中文字元串,把結果存入數組,最後再用PHP函數「join」在字元間插入百分號。
具體參考代碼如下:
<?php
functionstr_split_utf8($str){
$split=1;
$array=array();
for($i=0;$i<strlen($str)){
$value=ord($str[$i]);
if($value>127){
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="網路知道www..cn";
$arr1=str_split_utf8($string);
echojoin("%",$arr1);
?>
I. php中字元串分割
你研究一下 正則表達式 吧。
PHP的 split() 函數兼容正則表達式語法。
關於以上用法,給個例子你參考:
<?php
// 分隔符可以是斜線,點,或橫線
$date = "04/30/1973";
list($month, $day, $year) = split ('[/.-]', $date);
echo "Month: $month; Day: $day; Year: $year<br />\n";
?>
提示
preg_split() 函數使用了 Perl 兼容正則表達式語法,通常是比PHP函數split()更快的替代方案。如果不需要正則表達式的威力,則使用 explode() 更快,這樣就不會招致正則表達式引擎的浪費。
J. php如何平均分割字元串 例分割為四部分
$str = 'asdhjiuygfrewsghbvfdfswe';
$len = strlen($str);
$part = ($len/4);
$arr = str_split($str, $part);
print_r($arr);
若想要平均分成4部分,必須得保證字元串的總長度是4的整數倍。