本文目錄一覽:
- 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-hk/n/283270.html