本文目錄一覽:
- 1、寫一個截取字元串的php函數
- 2、php,cut_str()是怎麼用的?
- 3、如何利用PHP來截取一段中文字元串而不出現亂碼
- 4、php截取字元串函數
- 5、php的一個函數 將一個比較長的字元串截取為一個短的,多餘的用…代替的
寫一個截取字元串的php函數
function str_cut($start_str,$end_str){
global $str;//原字元串
$arr=array();
$s=strstr($str,$start_str);//假如你包含$start_str
$i=strpos($s,$end_str);
if (! $i===false)
{
$s=substr($s,0,$i);
if (! strpos($s,’img’)===false)
{
$temp=explode(‘img’,$s);
for ($j=1;$jsizeof($temp);$j++)
{
if (! strpos($temp[$j],’src=’)===false)
{
ereg(“([^=’\”]*).(GIF|gif|jpg|JPG)”,$temp[$j],$a); $arr[]=$a[0];
}
}
}
}
return $arr;
}
php,cut_str()是怎麼用的?
PHP 中沒有叫 cut_str() 的庫函數,它可能是你所用的那套軟體的開發者自定義的函數,你應該從相關的代碼中去找該函數的定義來理解它的使用方法。
如何利用PHP來截取一段中文字元串而不出現亂碼
/*
功能:截取全形和半形混合的字元串以避免亂碼
參數:
$str_cut 需要截斷的字元串
$length 允許字元串顯示的最大長度
*/
function substr_cut($str_cut,$length = 30){
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;
}
說明:
程序的關鍵語句是:
for($i=0; $i $length; $i++)
if (ord($str_cut[$i]) ; 128) $i++;
$str_cut = substr($str_cut,0,$i) . “…”;
如果字元的ASCII碼大於128,說明當前字元和下一個字元是屬於一個漢字的。
則,$i++ 跳過對下一個字元的判斷。
再結合循環中的 $i++ ,實際上,當遇到一個漢字時,$i 就會加 2 ,從而正確的跳過漢字。
最終實現的效果是,$i 變數指向的要麼是半形的字元,要麼是全形漢字的首字元,不會指向
全形漢字的第二個字元,所以,當$i ;= $length 時,循環結束,使用
$str_cut = substr($str_cut,0,$i) . “…”; 截取字元時自然也就不會出現亂碼了。
本人在寫一個程序時需要利用PHP從一段字元串中截取指定長度的一段字元下來。以前在寫ASP的時候,參考動網的程序寫過類似的程序,不過,還沒用PHP寫過。
想偷懶,看有不有現成的代碼可以用。於是,在GOOGLE中輸入:PHP 截斷字元 後查找到一段代碼。
php截取字元串函數
php
//構造字元串
$str = “ABCDEFGHIJKLMNOPQRSTUVWXYZ”;
echo “原字元串:”.$str.”
“;
//按各種方式進行截取
$str1 = substr($str,5);
echo “從第5個字元開始取至最後:”.$str1.”
“;
$str2 = substr($str,9,4);
echo “從第9個字元開始取4個字元:”.$str2.”
“;
$str3 = substr($str,-5);
echo “取倒數5個字元:”.$str3.”
“;
$str4 = substr($str,-8,4);
echo “從倒數第8個字元開始向後取4個字元:”.$str4.”
“;
$str5 = substr($str,-8,-2);
echo “從倒數第8個字元開始取到倒數第2個字元為止:”.$str5.”
“;
?
支持中英文混合截取。
代碼如下 複製代碼
/*
——————————————————
參數:
$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;
}
?
php的一個函數 將一個比較長的字元串截取為一個短的,多餘的用…代替的
定義和用法
substr() 函數返回字元串的一部分。
語法
substr(string,start,length)
例子 2
?php
echo substr(“Hello world!”,6,5);
?
輸出:
world
函數結果後面再接上…
參考資料
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283270.html