Home php教程 php手册 php中文字串截取无乱码的方法

php中文字串截取无乱码的方法

May 25, 2016 pm 04:44 PM

在网上找到了很多关于php截取中文方法,其中最多的还是讲到使用mb_substr函数来截取了,这个函数需要php.ini中一个拓展支持,但我没权限修改只有另想办法.

substr截取:substr() 函数返回字符串的一部分,代码如下:

<?php 
	$rest = substr("我是中国人", -1);    // returns "乱码" 
	echo $rest.&#39;<br />&#39;; 
	$rest = substr("abcdef", -2);    // returns "ef" 
	echo $rest.&#39;<br />&#39;; 
	$rest = substr("abcdef", -3, 1); // returns "d" 
	echo $rest.&#39;<br />&#39;; 
?>
Copy after login

接着百度goole说可以mb_substr截取,代码如下:

<?php  
	echo mb_substr(&#39;我们都是好孩子hehe&#39;,0,9);  
	 
	//运行机制提示 
	//Fatal error: Call to undefined function mb_substr()...  
?>
Copy after login

后来有朋友告诉我是一般的服务器都没打开php_mbstring.dll,需要在php.ini中把php_mbstring.dll打开,找到idc商不开,只有另想办法,代码如下:

<?php
function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) 
{ 
	if(function_exists("mb_substr")) 
		return mb_substr($str, $start, $length, $charset); 
	elseif(function_exists(&#39;iconv_substr&#39;)) { 
		return iconv_substr($str,$start,$length,$charset); 
	} 
	$re[&#39;utf-8&#39;]   = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/"; 
	$re[&#39;gb2312&#39;] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/"; 
	$re[&#39;gbk&#39;]    = "/[x01-x7f]|[x81-xfe][x40-xfe]/"; 
	$re[&#39;big5&#39;]   = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/"; 
	preg_match_all($re[$charset], $str, $match); 
	$slice = join("",array_slice($match[0], $start, $length)); 
	if($suffix) return $slice."&hellip;"; 
	return $slice; 
}
?>
Copy after login

这个正好解决了所有问题了,看是否按字符编码来进行截取了.

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

Video Face Swap

Video Face Swap

Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)