- 浏览: 517660 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (310)
- PHP (46)
- Java (50)
- Perl (0)
- Bash (5)
- C# (9)
- JavaScript (5)
- InDesign (7)
- 百宝箱 (5)
- 排错 (3)
- 招聘 (5)
- PHP他山之石 (3)
- SQL(DML) (10)
- Flex (15)
- LAMP (1)
- DIV+CSS (1)
- C#2008 (4)
- LOGO (7)
- WorkLog (1)
- 工作 (26)
- Groovy (7)
- 海量数据 (4)
- C/C++ (1)
- Android (1)
- PYTHON (13)
- Java开发实战1200例 (1)
- Java枚举与泛型 (16)
- Java基础应用 (24)
- poj (3)
- Java数组与集合 (18)
- 疑难解析 (3)
- JavaWeb (8)
- Jython (2)
- 成功之路 (0)
- Golang (2)
- Spring (2)
- 微信小程序 (0)
最新评论
-
DawnBells:
...
java.util.concurrent 之六:使用Future类和Callable类 -
kanglecjr:
http://tieba.baidu.com/f?kz=101 ...
泰语字母好看的手写体 -
zxjlwt:
学习了。http://surenpi.com
java.util.concurrent 之六:使用Future类和Callable类 -
spring_springdata:
java jsoup开源框架demo使用实例教程源代码下载:h ...
JSOUP获取网页数据返回403错误(403 error loading URL,connection类) -
narochids:
MARK!
JavaScript+Ajax实例大全(1521例以上),可以随编辑随执行
http://www.ccvita.com/27.html
1. 截取GB2312中文字符串
2. 截取utf8编码的多字节字符串
3. UTF-8、GB2312都支持的汉字截取函数
4. BugFree 的字符截取函数
1. 截取GB2312中文字符串
<?php < ?php //截取中文字符串 function mysubstr($str, $start, $len) { $tmpstr = ""; $strlen = $start + $len; for($i = 0; $i < $strlen; $i++) { if(ord(substr($str, $i, 1)) > 0xa0) { $tmpstr .= substr($str, $i, 2); $i++; } else $tmpstr .= substr($str, $i, 1); } return $tmpstr; } ?>
2. 截取utf8编码的多字节字符串
<?php //截取utf8字符串 function utf8Substr($str, $from, $len) { return preg_replace('#^(?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$from.'}'. '((?:[\x00-\x7F]|[\xC0-\xFF][\x80-\xBF]+){0,'.$len.'}).*#s', '$1',$str); } ?>
3. UTF-8、GB2312都支持的汉字截取函数
<?php /* Utf-8、gb2312都支持的汉字截取函数 cut_str(字符串, 截取长度, 开始长度, 编码); 编码默认为 utf-8 开始长度默认为 0 */ function cut_str($string, $sublen, $start = 0, $code = 'UTF-8') { if($code == 'UTF-8') { $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/"; preg_match_all($pa, $string, $t_string); if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."..."; return join('', array_slice($t_string[0], $start, $sublen)); } else { $start = $start*2; $sublen = $sublen*2; $strlen = strlen($string); $tmpstr = ''; for($i=0; $i< $strlen; $i++) { if($i>=$start && $i< ($start+$sublen)) { if(ord(substr($string, $i, 1))>129) { $tmpstr.= substr($string, $i, 2); } else { $tmpstr.= substr($string, $i, 1); } } if(ord(substr($string, $i, 1))>129) $i++; } if(strlen($tmpstr)< $strlen ) $tmpstr.= "..."; return $tmpstr; } } $str = "abcd需要截取的字符串"; echo cut_str($str, 8, 0, 'gb2312'); ?>
4. BugFree 的字符截取函数
<?php /** * @package BugFree * @version $Id: FunctionsMain.inc.php,v 1.32 2005/09/24 11:38:37 wwccss Exp $ * * * Return part of a string(Enhance the function substr()) * * @author Chunsheng Wang <wwccss@263.net> * @param string $String the string to cut. * @param int $Length the length of returned string. * @param booble $Append whether append "...": false|true * @return string the cutted string. */ function sysSubStr($String,$Length,$Append = false) { if (strlen($String) < = $Length ) { return $String; } else { $I = 0; while ($I < $Length) { $StringTMP = substr($String,$I,1); if ( ord($StringTMP) >=224 ) { $StringTMP = substr($String,$I,3); $I = $I + 3; } elseif( ord($StringTMP) >=192 ) { $StringTMP = substr($String,$I,2); $I = $I + 2; } else { $I = $I + 1; } $StringLast[] = $StringTMP; } $StringLast = implode("",$StringLast); if($Append) { $StringLast .= "..."; } return $StringLast; } } $String = "CodeBit.cn -- 简单、精彩、通用"; $Length = "18"; $Append = false; echo sysSubStr($String,$Length,$Append); ?>
发表评论
-
class and inheritance
2014-05-21 11:53 829class and inheritance class ... -
php获取远程图片并下载保存到本地
2014-05-16 06:02 1049/* *功能:php完美实现下载远程图片保存到本地 * ... -
睡(税)后工资
2014-05-15 06:16 736转载:http://www.oschina.net/code/ ... -
十进制转二进制
2014-05-10 23:31 821function dec2bin ($dec) { ... -
上海盛大 PHP工程师 面试题
2011-03-11 08:05 2377来源:http://www.iteye.com/topic/8 ... -
网页对象内容自动换行控制方法
2011-03-09 08:01 1372网页对象内容自动换行控制方法 对于div,p等块级元素 ... -
CSS之自动换行
2011-03-09 07:58 1167关键字:迅雷 Google Baidu ... -
块级元素和级联元素的含义
2011-03-09 07:56 1123Block element 块级元素 顾 ... -
text-indent无效的几个原因及解决方案
2011-03-09 07:52 3791text-indent是用来字符缩进的。我们通常用在段 ... -
CSS自动换行
2011-03-09 07:48 1211这样的一个表: <table width="1 ... -
[转]Html中添加.wmv视频文件-Windows Media Player
2011-02-14 22:47 1788From: http://hi.baidu.com/ny_ds ... -
MIME 类型大全
2011-02-08 23:17 1827From http://www.webmaster-toolk ... -
【翻译】Video Upload MIME types(视频上传MIME类型)
2011-02-08 08:10 1830From http://www.htmlforums.com/ ... -
重启 HTTPD WEB服务器
2011-02-08 07:59 2304第一次知道用 httpd 也可以做 PHP的服务器(估 ... -
【转】两种PHP上传文件大小限制解决方案
2011-02-08 07:52 1806From:http://www.soft6.com/t ... -
【翻译】PHP中 文字编码变换时 使用SJIS-win而非SJIS,使用eucJP-win而非EUC-JP
2011-02-02 07:57 2707使用SJIS-win而非SJIS,使用eucJP-win而非E ... -
【翻译】用PHP取得字符串的长度(strlen,mb_strlen)
2011-02-02 07:05 2155取得字符串的长度。 strlen int strlen( ... -
[转载]PHP操作oracle数据库指南
2011-01-28 08:14 1656From:http://www.pcppc.cn/bianch ... -
PHP100视频教程27:PHP模板引擎Smarty入门使用
2009-07-05 20:57 1634PHP100视频教程27:PHP模板引擎Smarty入门使用 ... -
PHP100视频教程26:制作自己的PHP+MYSQL的类
2009-07-05 17:38 15821、巩固学习常用MYSQL函数 2、使用类封装常用SQL操 ...
相关推荐
首先,我们要了解PHP中字符串长度的计算方法,以及如何根据需要截取字符串。在字符串的处理过程中,需要考虑到字符集的影响,特别是UTF-8编码下的多字节字符(如中文、日文、韩文等)问题。在UTF-8编码下,一个中文...
而 `substr()` 函数则用于截取字符串的指定部分。 为了更好地理解如何使用这两个函数,我们可以创建一个自定义的函数 `getNeedBetween()`,它接受三个参数:`$kw1` 为源字符串,`$mark1` 和 `$mark2` 分别为需要...
- 使用 substr() 截取字符串时,需要确保不会超出原字符串的长度,否则会得到意外的结果。 - 在判断字符串开头时,如果目标字符串为空,那么任何字符串都会以空字符串开头。 - 使用 substr_compare() 时,可以根据...
示例代码展示了如何截取字符串`$s`中的特定部分。 6. 字符串的比较 字符串比较的函数是`strcmp()`。 - `strcmp()`函数比较两个字符串,如果字符串相等则返回0,如果第一个字符串小于第二个字符串则返回负值,...
PHP是一种广泛使用的开源服务器端脚本...希望了解更多的PHP字符串操作技巧,请访问《PHP字符串(string)用法总结》专题,里面涵盖了更多关于PHP字符串操作的知识和实例分析,相信对进行PHP程序设计的朋友会有所帮助。
ThinkPHP框架作为PHP开发中广泛使用的MVC框架之一,其内置的字符串处理函数功能强大而丰富,尤其在模板引擎中,内置的字符串截取函数让开发者在视图层的字符串处理变得更加灵活和方便。本文将详细介绍ThinkPHP内置的...
文章最后推荐了相关的专题,如《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》、《PHP字符串(string)用法总结》等,都是对PHP数组和字符串操作深入学习的好资源。同时,也提到了关于PHP的其他学习...
如果你需要进一步了解PHP字符串处理,可以查阅《php字符串(string)用法总结》这样的专题,其中包含了大量的字符串操作示例和技巧,对于提升PHP编程技能十分有帮助。 总的来说,`strnatcmp()` 函数是PHP中一个强大的...
1. **字符串操作**:拼接、截取、替换、格式化等。 2. **正则表达式**:模式匹配、搜索与替换,用于复杂的文本处理任务。 #### PHP专题相关 1. **文件与目录操作**:读写文件、目录遍历、上传文件处理。 2. **会话...
在PHP编程语言中,统计字符串长度时,遇到中文字符会涉及到字符编码的...对于进一步学习,可以查阅更多关于PHP字符串处理的专题,如PHP字符串(string)用法总结、PHP数组(Array)操作技巧大全等,以提升自己的编程技能。
在使用Smarty时,经常会用到各种内置的修饰符(modifier)来处理数据,例如truncate修饰符用于截取字符串并添加省略符号。然而,默认情况下smarty的truncate修饰符并不支持中文字符,因为它使用了普通的substr函数,...
最后,文章提到了一系列PHP相关专题,比如“php正则表达式用法总结”、“php字符串(string)用法总结”、“PHP数组(Array)操作技巧大全”等,这些专题能够帮助开发者更全面地掌握PHP语言的各种技巧和用法。...
最后,文章提及了几个PHP相关专题,包括日期时间用法、面向对象编程、字符串处理、数据库操作等。这些内容涉及了PHP编程的不同方面,对于深入学习PHP编程和解决更复杂的编程问题提供了参考。读者可以在掌握基本的...
此外,文章还提供了一些PHP专题链接,涵盖了PHP的各个方面,比如数学运算、操作Office文档、数组操作、排序算法、遍历算法、数据结构与算法、正则表达式、字符串处理、数据库操作等。这些都是PHP开发者在日常工作中...
对于PHP中的字符串操作,也有其专门的用法总结,包括字符串的拼接、截取、替换等操作。在涉及到MySQL数据库操作时,更需要掌握php+mysql数据库操作的入门知识以及一些常见的数据库操作技巧,以便能够有效地管理项目...
最后,使用implode()函数将数组元素合并成字符串,并通过array_slice()函数截取指定长度的子数组来控制生成密码的长度。 除了编码技巧外,还可以借助一些在线工具来生成随机数字或字符串。例如,文中提到的在线随机...
strrpos() 函数定位最后一个点号(`.`)的位置,然后使用 substr() 函数从这个位置开始截取到字符串末尾,这样获取的也是文件的扩展名。 第三种方法与第一种类似,不过使用了 explode() 和 array_pop() 函数。array...
此外,PHP还提供了截取字符串的方法来达到相同的目的。具体实现为使用`substr`函数截取手机号的前三位和最后四位,中间部分用`***`替换。这种方法虽然简单直接,但同样能够达到隐藏手机号中间部分的目的。 其次,...