字元串截取php
A. 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分割字元串的全部方法,希望大家有所掌握。
B. php怎麼截取字元串
使用正則表達式,preg_match('#<a href=(.*)>cctv在線直播</a>#i')
C. php 如何截取字元串最後兩個字元
在php中只要判斷字元串1與字元串2之前的一個stripos位置然後再使用substr開始截取就可以了,介紹一個簡單例子。
使用方法:
1 2 $keyword='查找(計組實驗)' $need=getNeedBetween($keyword, '(' , ')' );
運行該程序之後:
1 $need='計組實驗';
下面就來完成上面用到的字元串截取函數。getNeedBetween。該函數可實現簡單的從字元串($kw)截取兩個指定的字元($mark1,$mark2)之間字元串,失敗返回0,成功返回截取的字元串。
1 2 3 4 5 6 7 8 9 10 11 12 <?php function getNeedBetween($kw1,$mark1,$mark2){ $kw=$kw1; $kw='123′.$kw.'123′; $st =stripos($kw,$mark1); $ed =stripos($kw,$mark2); if(($st==false||$ed==false)||$st>=$ed) return 0; $kw=substr($kw,($st+1),($ed-$st-1)); return $kw; } ?>
D. php字元截取
當漢字被截斷時,根據編碼規則他總是要把後邊的其他字元拉過來一起作為漢字解釋,這就是出現亂碼的原因。而值為0x81到0xff與0x00組合始終都顯示為「空」
根據這一特點,在substr的結果後面補上一個chr(0),就可以防止出現亂碼了
先看段代碼
復制代碼
代碼如下:
<?php
$len
=
15;
$str
=
"這個新聞或是文章的標題很長,需要只顯示前面一些字,後面用...來代替";
echo
strlen($str)<=$len
?
$str
:
(substr($str,0,$len).chr(0)."...");
?>
chr(0)相關知識:
null是什麼都沒有,而chr(0)的值是0。表示成16進制是0x00,表示成二進制是00000000
雖然chr(0)不會顯示出什麼,但是他是一個字元。
E. PHP按特殊字元截取字元串
explode()
函數把字元串分割為數組。
<?php
$str
=
"Hello
world.
It's
a
beautiful
day.";
print_r
(explode("
",$str));
?>
Array
(
[0]
=>
Hello
[1]
=>
world.
[2]
=>
It's
[3]
=>
a
[4]
=>
beautiful
[5]
=>
day.
)
F. php怎麼截取字元後面幾個字元
$str1 = substr($str,5)截取後面5個字元。
1:$str1 = substr($str,5);這句是從第5個字元開始截取到最後strlen($str) 這句是獲取字元串長度假設你要截取後面3個字元,那就這樣寫 $str1 = substr($str,(strlen($str)-3))。
2:只要判斷字元串1與字元串2之前的一個stripos位置然後再使用substr開始截取就可以了。
3:PHP中的substr() 函數可以實現 substr() 函數返回字元串的一部分,substr(string,start,length)。
4:string 必需,規定要返回其中一部分的字元串,start 必需,規定在字元串的何處開始,正數 - 在字元串的指定位置開始 負數 - 在從字元串結尾的指定位置開始 0 - 在字元串中的第一個字元處開始 length 可選,規定要返回的字元串長度。默認是直到字元串的結尾,正數 - 從 start 參數所在的位置返回負數 - 從字元串末端返回。
G. php字元串截取指定字元
<?php
$a
=
'[{"ip":"192.168.1.19","host_name":"我的手機","mac_err":"0","mac":"18-DC-56-D0-0E-3F","mac_t":"-"},{"ip":"192.168.1.150","host_name":"8線電話","mac_err":"0","mac":"00-03-62-80-24-EE","mac_t":"-"},{"ip":"192.168.1.38","host_name":"內網路由","mac_err":"0","mac":"CC-B2-55-E2-25-42","mac_t":"-"}]';
$a
=
json_decode($a,true);
for
($i=0;
$i
<
count($a)
;
$i++)
{
if
($a[$i]['ip']
==
"192.168.1.38")
{
echo
$a[$i]['mac'];
}
}
?>
測試通過望採納
H. php截取字元串
這個問題我回答了好幾個了:
/* 截取一定長度的完整的中文字元 */
function cnsubstr($str,$strlen=10) {
if(empty($str)||!is_numeric($strlen)){
return false;
}
if(strlen($str)<=$strlen){
return $str;
}
//得到第$length個字元 並判斷是否為非中文 若為非中文
//直接返回$length長的字元串
$last_word_needed=substr($str,$strlen-1,1);
if(!ord($last_word_needed)>128){
$needed_sub_sentence=substr($str,0,$strlen);
return $needed_sub_sentence;
}else{
for($i=0;$i<$strlen;$i++){
if(ord($str[$i])>128){
$i++;
}
}//end of for
$needed_sub_sentence=substr($str,0,$i);
return $needed_sub_sentence;
}
}
直接調用這個函數就可以了。
I. php截取字元串函數
$str=implode("|",$arr);
echo $str;
input:
小明|小黑|小天|小白
J. 急求 php 從指定字元串截取
<?php
$string='abc-def-bbdsfdsfdsfsdf';
$strat=strrpos($string,'-');
echosubstr($string,$strat+1);
?>
strrpos() 函數查找字元串在另一個字元串中最後一次出現的位置.