好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php截取utf8 PHP截取路径

很多站长朋友们都不太清楚php截取utf8,今天小编就来给大家整理php截取utf8,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php 中文和编码判断代码 2、 PHP里截取替换utf-8的网页里的中文文字时,为什么替换不了? 3、 php 截取utf-8格式的字符串实例代码 4、 PHP 如何截取标题长度 (utf-8编码)? 5、 请问下php怎么处理截取字符串出现的乱码问题 6、 PHP如何获取中文字符串长度 utf8 php 中文和编码判断代码

编码范围1.

GBK

(GB2312/GB18030)

\x00-\xff

GBK双字节编码范围

\x20-\x7f

ASCII

\xa1-\xff

中文

\x80-\xff

中文

2.

UTF-8

(Unicode)

\u4e00-\u9fa5

(中文)

\x3130-\x318F

(韩文

\xAC00-\xD7A3

(韩文)

\u0800-\u4e00

(日文)

ps:

韩文是大于[\u9fa5]的字符

正则例子:

preg_replace(”/([\x80-\xff])/”,”",$str);

preg_replace(”/([u4e00-u9fa5])/”,”",$str);

二、代码例子

复制代码

代码如下:

//判断内容里有没有中文-GBK

(PHP)

function

check_is_chinese($s){

return

preg_match('/[\x80-\xff]./',

$s);

}

//获取字符串长度-GBK

(PHP)

function

gb_strlen($str){

$count

=

0;

for($i=0;

$i<strlen($str);

$i++){

$s

=

substr($str,

$i,

1);

if

(preg_match("/[\x80-\xff]/",

$s))

++$i;

++$count;

}

return

$count;

}

//截取字符串字串-GBK

(PHP)

function

gb_substr($str,

$len){

$count

=

0;

for($i=0;

$i<strlen($str);

$i++){

if($count

==

$len)

break;

if(preg_match("/[\x80-\xff]/",

substr($str,

$i,

1)))

++$i;

++$count;

}

return

substr($str,

0,

$i);

}

//统计字符串长度-UTF8

(PHP)

function

utf8_strlen($str)

{

$count

=

0;

for($i

=

0;

$i

<

strlen($str);

$i++){

$value

=

ord($str[$i]);

if($value

>

127)

{

$count++;

if($value

>=

192

$value

<=

223)

$i++;

elseif($value

>=

224

$value

<=

239)

$i

=

$i

+

2;

elseif($value

>=

240

$value

<=

247)

$i

=

$i

+

3;

else

die('Not

a

UTF-8

compatible

string');

}

$count++;

}

return

$count;

}

//截取字符串-UTF8(PHP)

function

utf8_substr($str,$position,$length){

$start_position

=

strlen($str);

$start_byte

=

0;

$end_position

=

strlen($str);

$count

=

0;

for($i

=

0;

$i

<

strlen($str);

$i++){

if($count

>=

$position

$start_position

>

$i){

$start_position

=

$i;

$start_byte

=

$count;

}

if(($count-$start_byte)>=$length)

{

$end_position

=

$i;

break;

}

$value

=

ord($str[$i]);

if($value

>

127){

$count++;

if($value

>=

192

$value

<=

223)

$i++;

elseif($value

>=

224

$value

<=

239)

$i

=

$i

+

2;

elseif($value

>=

240

$value

<=

247)

$i

=

$i

+

3;

else

die('Not

a

UTF-8

compatible

string');

}

$count++;

}

return(substr($str,$start_position,$end_position-$start_position));

}

//判断是否是有韩文-UTF-8

(JavaScript)

function

checkKoreaChar(str)

{

for(i=0;

i<str.length;

i++)

{

if(((str.charCodeAt(i)

>

0x3130

str.charCodeAt(i)

<

0x318F)

||

(str.charCodeAt(i)

>=

0xAC00

str.charCodeAt(i)

<=

0xD7A3)))

{

return

true;

}

}

return

false;

}

//判断是否有中文字符-GBK

(JavaScript)

function

check_chinese_char(s){

return

(s.length

!=

s.replace(/[^\x00-\xff]/g,"**").length);

}

PHP里截取替换utf-8的网页里的中文文字时,为什么替换不了?

如果你的PHP文件是UTF-8就应该正常,如果不是就需要iconv进行转换,例如PHP文件是GBK编码的时侯,代码应该这样写:

$pat=iconv('GBK','UTF-8',"/口碑网([\s\S]*?)购站之一/");

$HTML=preg_replace($pat,"",$HTML);

php 截取utf-8格式的字符串实例代码

php

截取utf-8格式的字符串

php中,我们经常需要截取字符串。英文字符占用一个字节,中文字符占用两个字节,但中文字符占用两个字节是相对于GBK编码而言但是在时下国际流行的UTF8编码中,一个中文字符占用3个字节。本文章向大家介绍一个php

截取utf-8格式字符串的函数。

举例说明:

function

truncate_utf8_string($string,

$length,

$etc

=

'...')

{

$result

=

'';

$string

=

html_entity_decode

(

trim

(

strip_tags

(

$string

)

),

ENT_QUOTES,

'UTF-8'

);

$strlen

=

strlen

(

$string

);

for($i

=

0;

(($i

<

$strlen)

($length

>

0));

$i

++)

{

if

($number

=

strpos

(

str_pad

(

decbin

(

ord

(

substr

(

$string,

$i,

1

)

)

),

8,

'0',

STR_PAD_LEFT

),

'0'

))

{

if

($length

<

1.0)

{

break;

}

$result

.=

substr

(

$string,

$i,

$number

);

$length

-=

1.0;

$i

+=

$number

-

1;

}

else

{

$result

.=

substr

(

$string,

$i,

1

);

$length

-=

0.5;

}

}

$result

=

htmlspecialchars

(

$result,

ENT_QUOTES,

'UTF-8'

);

if

($i

<

$strlen)

{

$result

.=

$etc;

}

return

$result;

}

如果需要截取utf-8格式的字符串,直接调用这个函数即可。

<?php

$str="如果需要截取utf-8格式的字符串,直接调用这个函数即可。";

echo

truncate_utf8_string($str,10);//输出结果:如果需要截取utf-8格...

?>

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

PHP 如何截取标题长度 (utf-8编码)?

你可以查询出完整标题,然后用 CSS 的 overflow指定超出部分不显示,在标题中含有中英、数字混合的情况,很难做到字符串排版的宽度一致。

还有最坏的情况,用截断的方法,把实际完整的标题断开,破坏了原义,对SEO是无比的伤害。

用css控制显示长度才是最好的做法。

请问下php怎么处理截取字符串出现的乱码问题

利用php内置方法mb_substr截取不乱码;

1、GBK编码截取示例:

$str = '我是谁'; //gbk编码的字符串

echo mb_substr($str, 0, 1, 'gbk'); //输出 我

mb_substr方法比substr多一个参数,用来指定字符串编码。

2、utf-8编码截取示例:

[code]

$str = '我abc是谁'; //utf-8编码的字符串

echo mb_substr($str, 0, 2, 'utf-8'); //输出 我a

[/code]

中英混合也完全没有问题。

PHP如何获取中文字符串长度 utf8

PHP对中文字符串的处理一直困扰于刚刚接触PHP开发的新手程序员。下面简要的剖析一下PHP对中文字符串长度的处理:

PHP自带的函数如strlen()、mb_strlen()都是通过计算字符串所占字节数来统计字符串长度的,一个英文字符占1字节。例:

$enStr = ‘Hello,China!’;

echo strlen($enStr); // 输出:12

而中文则不然,做中文网站一般会选择两种编码:gbk/gb2312或是utf-8。utf-8能兼容更多的字符,所以受到很多站长的喜爱。gbk与utf-8对中文的编码不同,导致中文在gbk与utf-8编码下所占字节也有差异。

gbk编码下每个中文字符所占字节为2,例:

$zhStr = ‘您好,中国!’;

echo strlen($zhStr); // 输出:12

utf-8编码下每个中文字符所占字节为3,例:

$zhStr = ‘您好,中国!’;

echo strlen($zhStr); // 输出:18

那么如何计算这组中文字符串的长度呢?有人可能会说gbk下获取中文字符串长度除以2,utf-8编码下除以3不就行了吗?但是您要考虑字符串并不老实,99%的情况会以中英混合的情况出现。

这是WordPress中的一段代码,主要思想就是先用正则将字符串分解为个体单元,然后再计算单元的个数即字符串的长度,代码如下(只能处理utf-8编码下的字符串):

$zhStr = ‘您好,中国!’;

$str = ‘Hello,中国!’;

// 计算中文字符串长度

function utf8_strlen($string = null) {

// 将字符串分解为单元

preg_match_all(“/./us”, $string, $match);

// 返回单元个数

return count($match[0]);

}

echo utf8_strlen($zhStr); // 输出:6

echo utf8_strlen($str); // 输出:9

关于php截取utf8的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php截取utf8 PHP截取路径的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did198137
更新时间:2023-04-26   阅读:21次

上一篇: php权限登录源码 php权限登录源码是多少

下一篇:php配对代码 php 匹配

最新资料更新

  • 1.关于PHPchmod的信息
  • 2.php登录和注册 php登录和注册不使用数据库
  • 3.php事务的隔离级别 php事务处理
  • 4.php求100的质数 php求出1100的素数
  • 5.php判断08数字 php 判断数字
  • 6.php网页打印控件谷歌 php打印插件
  • 7.php数据库的建立 php中数据库怎么设计
  • 8.php获取js变量 php获取js变量值
  • 9.php数值内存溢出 php大数组内存溢出
  • 10.phpmkdir-1的简单介绍
  • 11.php的特点有. 简述什么是php?php的主要特点有哪些?
  • 12.php怎么操作树 php tree
  • 13.phpapp页面 php app
  • 14.php时间戳转换字符串 php 时间戳转日期
  • 15.php登陆检测 php登录原理
  • 16.包含ampquotphp的词条
  • 17.无限级菜单php java无限极菜单
  • 18.php网站设计素材 php网站制作
  • 19.主流php框架比较 php框架排行2020
  • 20.php闭包this php闭包函数使用场景

CopyRight:2016-{hedonghua:year}{hedonghua:sitegs} 备案ICP:湘ICP备09009000号-16 {hedonghua:sitejym}
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2026 「好得很程序员自学网」
[ SiteMap ]