您的位置:

php截取字符串cut(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

函数结果后面再接上...

参考资料