2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > php chr() ord()中文截取乱码问题解决方法

php chr() ord()中文截取乱码问题解决方法

时间:2019-05-23 17:51:41

相关推荐

php chr() ord()中文截取乱码问题解决方法

php教程|php手册

php,chr,ord,中文,截取,乱码,问题,解决,方法,复制,代码,如下,php,lenth,str,怎么,将,新闻

php教程-php手册

复制代码 代码如下:

有哪些网站可以找到系统源码,vscode 自动换行插件,ubuntu 连接断开,tomcat日志每日打包,爬虫finder,易宝支付 php,黄冈百度seo,图书网站 源码,国内wordpress模板lzw

<?php

$lenth = 19;

$str = “怎么将新闻的很长的标题只显示前面一些字,后面用…..来代替?”;

echo strlen($str)<=$lenth ? $str : (substr($str,0,$lenth).chr(0)."….");

?>

教育管理系统源码,ubuntu系统 乌班图,tomcat8虚拟目录,最新爬虫库,漫画love PHP.06,谷歌seo大全lzw

家居装修网站源码,ubuntu故障修复代码,爬虫怎么取数据,php 细节,小徐seolzw

复制代码 代码如下:

<?

/*

@ 另一种方法,使用ord()函数:

@ 适用于 gb2312 编码:

*/

$str = “怎么将新闻的很长的标题只显示前面一些字,后面用…..来代替?”;

function gb2312_substr($str, $limit) {

$restr =”;

for($i=0;$i< $limit-3;$i++) {

$restr .= ord($str[$i])>127 ? $str[$i].$str[++$i] : $str[$i];

}

return $restr;

}

/*

@ 以下仅适用于 utf-8 编码;

*/

function utf8_substr($str, $limit) {

$restr = ”;

for($i=0;$i< $limit-3;$i++) {

$restr .= ord($str[$i])>127 ? $str[$i].$str[++$i].$str[++$i] : $str[$i];

}

return $restr;

}

//解释下上面第一个:chr(0)不是null,null是什么都没有,而chr(0)的值是0。表示成16进制是0x00,表示成二进制是00000000虽然chr(0)不会显示出什么,但是他是一个字符。虽然chr(0)不会显示出什么,但是他是一个字符。当汉字被截断时,根据编码规则他总是要把后边的其他字符拉过来一起作为汉字解释,这就是出现乱码的原因。

?>

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。