您的位置:

php断句无乱码,php乱码如何解决

本文目录一览:

如何利用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中截取中文字串无乱码

一年前写的一个函数。用法与substr一样,支持中文。您也可以加以改进。

//截取字符串含数,对系统函数的改进,不会将中文变乱。

function mysubstr ($str,$start,$len=0,$cutchar="…") {

$str=str_replace(" ",' ',$str);

$str=str_replace("“",'“',$str);

$str=str_replace("”",'”',$str);

$str=str_replace("—",'—',$str);

$str=str_replace(""",'"',$str);

$str=str_replace(''',"'",$str);

$str=str_replace("",'',$str);

$str=str_replace("",'',$str);

$str=str_replace("",'',$str);

$str=preg_replace("/[\s]+/"," ",$str);

$tolen=strlen($str);

if(!($start==0 $len=$tolen)){

//为方便操作,先将起始值和长度值转换为正数

if($start0)$start=$tolen+$start;if($start0)$start=0;if($start$tolen)return "";

if($len=0)$len=($tolen+$len)-$start;if($len1)return "";

if($len$tolen)$len=$tolen;

for($i=0;$i$start;$i++){

if(ord(substr($str,$i,1))127){$i++;}

}

$start=$i; //起始位置计算完成

for($k=0;$k$len;$k++,$i++){

if(ord(substr($str,$i,1))127){$i++;$k++;}

}

$len=$k; //长度计算完成

$str=substr($str,$start,$len);

if($start0){$str=$cutchar.$str;}

if($start+$len$tolen){$str.=$cutchar;}

}

$str=str_replace("",'',$str);

$str=str_replace('"','"',$str);

$str=str_replace("'",''',$str);

$str=str_replace("",'',$str);

$str=str_replace("",'',$str);

return $str;

}

php 如何实现中文无乱码截取用哪个函数

中文截取:mb_substr()

mb_substr( $str, $start, $length, $encoding )

$str,需要截断的字符串

$start,截断开始处,起始处为0

$length,要截取的字数

$encoding,网页编码,如utf-8,GB2312,GBK

php断句无乱码,php乱码如何解决

2022-11-29
common.inc.php乱码,php解决乱码

2022-11-28
php如何判断中文乱码,php查询数据库中文乱码

2022-11-25
php文字截取无乱码,php中文截取无乱码函数

2022-12-02
php酱油笔记之中文乱码显示(php中文出现乱码)

2022-11-15
php输出js语句以及乱码问题,解决js输出汉字乱码问题

本文目录一览: 1、js传值给php处理后在ie中显示为乱码 2、php如何输出js语句 3、php 输出js 语句 php变量与字符串组合问题 4、为什么我用php打开文件用echo 输出文件的内容

2023-12-08
iis访问php乱码该怎么办,如何解决php乱码

2023-01-07
php乱码解决的技术博客问答(php代码中文乱码)

2022-11-14
php连mysql输出中文乱码,php解决中文乱码

2022-11-20
php实现中文字符的无乱码截断(可以在php中解决中文乱码的

2022-11-08
php抓取网页乱码,php中文截取无乱码

2022-11-27
phpmsql乱码,php数据库中文乱码

2022-11-30
mysql乱码php(mysql乱码中文)

2022-11-09
打开php文件时乱码如何解决(打开文件乱码怎么解决)

2022-11-11
8中乱码问题的解决php版(php文件中文乱码解决方法)

2022-11-08
php解决乱码问题时,php乱码出现问号的原因

2023-01-05
php中文乱码问题解决方案汇总(php网页中文字符乱码)

2022-11-10
php提交乱码,php文件中文乱码解决方法

2022-11-30
php中出现乱码,php中出现乱码怎么解决

2023-01-05
php用utf8乱码,php文件乱码怎么办

2023-01-07