php內建的截取字串的函數只能處理英文,數位不能截取中文混排的,後面一個樣本比較好用,第一個主要是給初學者學學用的,具體代碼如下:
<?php //構造字串 $str = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; echo "原字串:<b>".$str."</b><br>"; //按各種方式進行截取 $str1 = substr($str,5); echo "從第5個字元開始取至最後:".$str1."<br>"; $str2 = substr($str,9,4); echo "從第9個字元開始取4個字元:".$str2."<br>"; $str3 = substr($str,-5); echo "取倒數5個字元:".$str3."<br>"; $str4 = substr($str,-8,4); echo "從倒數第8個字元開始向後取4個字元:".$str4."<br>"; $str5 = substr($str,-8,-2); echo "從倒數第8個字元開始取到倒數第2個字元為止:".$str5."<br>"; ?>
支援中英文混合截取,代碼如下:
<?php /* ------------------------------------------------------ 參數: $str_cut 需要截斷的字串 $length 允許字串顯示的最大長度 程式功能:截取全形和半形(漢字和英文)混合的字串以避免亂碼 ------------------------------------------------------ */ function substr_cut($str_cut,$length) { if (strlen($str_cut) > $length) { for($i=0; $i < $length; $i++) if (ord($str_cut[$i]) > 128) $i++; $str_cut = substr($str_cut,0,$i).".."; } return $str_cut; } ?>