- 浏览: 138888 次
- 性别:
- 来自: 北京
文章分类
最新评论
/** * 格式化中英文字符串 * 多字节字符,是按双字节宽度截取的 * * @param $str 字符串 * @param $len 截取的字节数 * * @return 字符串 * */ function format_string($str,$len,$end='...') { //获取总的字节数 $ll = strlen($str); //字节数 $i = 0; //显示字节数 $l = 0; //返回的字符串 $s = $str; while ($i < $ll) { //获取字符的asscii $byte = ord($str{$i}); //如果是1字节的字符 if ($byte < 0x80) { $l++; $i++; } //如果是2字节字符 elseif ($byte < 0xe0) { $l += 2; $i += 2; } //如果是3字节字符 elseif ($byte < 0xf0) { $l += 2; $i += 3; } //其他,基本用不到 else { $l += 2; $i += 4; } //如果显示字节达到所需长度 if ($l >= $len) { //截取字符串 $s = substr($str, 0, $i); //如果所需字符串字节数,小于原字符串字节数 if($i < $ll) { //则加上省略符号 $s = $s . $end; break; } //跳出字符串截取 break; } } //返回所需字符串 return $s; }
发表评论
-
gogs
2017-09-25 19:55 522gogs 安装 1. 下载二进制安装包 2. 新建gi ... -
修改 最大执行时间
2016-12-26 11:05 447//修改最大执行时间 ini_set("max ... -
mac 下安装yaf
2016-12-02 15:16 261.wget http://pecl.php.net/get ... -
laravel 自定义 检查 session 数据是否存在
2016-03-03 18:05 778// vendor/laravel/framework/s ... -
laravel 的redis 删除问题
2015-12-07 20:14 1646团队遇到一个laravel的redis问题:登录退出之后, ... -
正则匹配字符串中的汉字,过滤其他字符
2014-06-13 10:40 0preg_match("/[\x80-\xff]{ ... -
zend framwork - view 模板调用
2012-12-24 12:14 727自定义模板文件 $this->_helper-> ... -
中英文混排的串的占位
2012-12-13 16:30 770一个汉字 两个占位符 $str=‘中文a字1符‘; ... -
zend framework 一些记录
2012-12-11 11:04 6831. zend 调试 sql ... -
ip正则匹配 - php
2012-12-05 16:21 875preg_match_all ("#(\d{1,3} ... -
php-fpm 重启
2012-11-11 21:43 699master进程可以理解以下信号 INT, TERM 立刻终 ... -
php汉字匹配
2012-11-04 15:39 607$name = "/[\x{4e00}- ... -
php的对象clone使用
2011-12-22 12:14 8391。 PHP5中定义了一个__clone ... -
[转]汉字 與 UNICODE 互相轉換
2011-08-22 10:20 1000$str = '我'; /* 將 '我' 轉換成 '25 ... -
pathinfo 模式需要开启 php配置文件一个参数
2011-07-14 14:12 1635pathinfo 模式 需要 php.ini 开启下面这个参数 ... -
smarty 中英文截取
2011-03-14 10:34 781<?php function smarty_modif ... -
日期和unix时间戳的互相转换
2011-02-23 11:15 1553竟然忘记了,记下来,看你还能忘 (完整的 年月日时分秒 ... -
重构-旧表导入新表数据
2010-12-17 11:34 724// 对应字段 key-新,value-旧 $fields ... -
正则过滤替换示例备份
2010-11-12 16:34 768$parr4 = "\x80-\xff&qu ... -
分页函数
2010-11-02 11:18 661////实现分页显示 /* $pageCount 记录总数 ...
相关推荐
PHP字符串截取函数用法分析主要讲解了在PHP中如何利用内置函数对字符串进行截取,以及如何通过自定义函数来处理特殊需求,比如混合中英文字符的截取。文章主要分为两个部分进行介绍。 首先,PHP的内置函数substr()...
在JavaScript中,常见的字符串截取函数有slice()、substring()和substr()。这三个函数都可以实现从字符串中提取指定部分的功能,但它们的参数和内部实现有差异: 1. slice()函数的语法是slice(start, end),其中...
许多编程语言提供了用于字符串截取的内置函数,如PHP、JavaScript 等,这些函数可以通过指定字符串开始截取位置和结束截取位置来实现截取。 例如: JavaScript var str = 这是一段字符串 var subStr = str....
**1.1 GB2312字符串截取函数** ```php function mysubstr($str, $start, $len) { $tmpstr = ""; $strlen = $start + $len; for ($i = 0; $i $strlen; $i++) { if (ord(substr($str, $i, 1)) > 0xa0) { $tmpstr...
1. **基本字符串截断方法:**PHP中最基础的字符串截断方法是使用`substr()`函数。该函数接受三个参数:原始字符串、开始位置和长度。例如,`substr($str, 0, 20)`会返回字符串的前20个字符。然而,这种方法不考虑...
"PHP中文字符串截取函数" PHP中的中文字符串截取函数是一个非常有用的函数,它可以截取中文字符串并且正确地处理中文字符。在PHP中,字符串截取函数是一个基本的函数,但是它不能正确地处理中文字符串,因为中文...
`substr()` 是PHP中最基础的字符串截取函数,它可以返回字符串的一部分。它的基本语法是 `substr(string, start, length)`: - `string`:要截取的原始字符串。 - `start`:指定截取的起始位置,如果为正数,从...
PHP中的字符串截取函数mb_substr用于截取字符串中的特定部分,并能够正确处理多字节字符,特别是中文字符。这个函数在处理多语言文本时显得尤为重要,因为它能够避免在文本截取时产生乱码。 函数mb_substr的基本...
字符串截取在php开发中是比较常用的; 而且对于截取的需求也有很多种; 有时我们想截取最后一个斜杠’/’后面的数字; 有时我们又需要截取第一个斜杠’/’前面的内容判断用户输入的url链接带不带http://等等; 字符...
本文将详细介绍几个用于处理中文字符串截取的PHP函数,以及它们的工作原理。 首先,`sysSubStr` 函数是针对UTF-8编码的中文字符串设计的。该函数通过检查每个字符的ASCII值来确定它是否是多字节的中文字符。如果...
这两个自定义函数对于处理中文字符串截取的问题非常有用,尤其是在处理用户输入或者从数据库读取GBK或UTF-8编码的中文数据时,可以有效地防止因编码问题导致的乱码。它们体现了PHP在处理多字节编码字符串时的灵活性...
### PHP字符串截取详解 #### 一、GB2312中文字符串截取方法解析 在处理中文字符串时,特别是对于较旧的编码格式如GB2312,我们需要特别注意字符的编码方式以避免截取后出现乱码。下面详细介绍了一个针对GB2312编码...
字符串边界截取函数,只需要输入原始字符串,左侧字符串,右侧字符串,即可返回中间的字符串(不带左侧和右侧字符串)。
本文实例讲述了php字符串分割函数用法。分享给大家供大家参考。具体分析如下: php中explode 和 split 函数用来分割字符串。 explode函数语法如下 explode(substring, string) explode函数通过子字符串进行分割,...
总的来说,这个PHP字符串截取类为开发者提供了一种强大的工具,帮助他们更方便地处理字符串操作,尤其是在处理具有特定结构的数据时。通过理解和使用这个类,可以提高代码的效率和可读性,减少重复的工作,并且能够...