作者:me | 来源:互联网 | 2014-11-16 09:28
functionssubstr($string,$length,$dot='...'){global$charset;if(strlen($string)<=$length){return$string;}$string=str_replace...
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
php截取一定长度的字符串
发布: 来源: 添加日期:2014-09-18 22:36:52 浏览: 评论:0
- function ssubstr($string, $length, $dot = &#39; ...&#39;) {
- global $charset;
- if(strlen($string) <= $length) {
- return $string;
- }
- $string = str_replace(array(&#39;&&#39;, &#39;"&#39;, &#39;<&#39;, &#39;>&#39;), array(&#39;&&#39;, &#39;"&#39;, &#39;<&#39;, &#39;>&#39;), $string);
- $strcut = &#39;&#39;;
- if(strtolower($charset) == &#39;utf-8&#39;) {
- $n = $tn = $noc = 0;
- while($n < strlen($string)) {
- $t = ord($string[$n]);
- if($t == 9 || $t == 10 || (32 <= $t && $t <= 126)) {
- $tn = 1; $n++; $noc++;
- } elseif (194 <= $t && $t <= 223) {
- $tn = 2; $n += 2; $noc += 2;
- } elseif (224 <= $t && $t < 239) {
- $tn = 3; $n += 3; $noc += 2;
- } elseif (240 <= $t && $t <= 247) {
- $tn = 4; $n += 4; $noc += 2;
- } elseif (248 <= $t && $t <= 251) {
- $tn = 5; $n += 5; $noc += 2;
- } elseif ($t == 252 || $t == 253) {
- $tn = 6; $n += 6; $noc += 2;
- } else {
- $n++;
- }
- if($noc >= $length)
- {
- break;
- }
- }
- if($noc > $length)
- {
- $n -= $tn;
- }
- $strcut = substr($string, 0, $n);
- } else {
- for($i = 0; $i < $length; $i++)
- {
- $strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
- }
- }
- $strcut = str_replace(array(&#39;&&#39;, &#39;"&#39;, &#39;<&#39;, &#39;>&#39;), array(&#39;&&#39;, &#39;"&#39;, &#39;<&#39;, &#39;>&#39;), $strcut);
- return $strcut.$dot;
- }
-
- 截取一定长度的字符串(该函数对gb2312使用有效)
-
- function wordscut($string, $length ,$sss=0) {
- if(strlen($string) > $length) {
- if($sss){
- $length=$length - 3;
- $addstr=@# ...@#;
- }
- for($i = 0; $i < $length; $i++) {
- if(ord($string[$i]) > 127) {
- $wordscut .= $string[$i].$string[$i + 1];
- $i++;
- } else {
- $wordscut .= $string[$i];
- }
- }
- return $wordscut.$addstr;
- }
- return $string;
- }
- ?>
推荐阅读
-
本文详细介绍了如何使用Linux下的mysqlshow命令来查询MySQL数据库的相关信息,包括数据库、表以及字段的详情。通过本文的学习,读者可以掌握mysqlshow命令的基本语法及其常用选项。 ...
[详细]
蜡笔小新 2024-11-24 11:25:08
-
本文介绍了Docker——一款用Go语言编写的开源应用程序容器引擎。通过Docker,用户能够将应用及其依赖打包进容器内,实现高效、轻量级的虚拟化。容器之间采用沙箱机制,确保彼此隔离且资源消耗低。 ...
[详细]
蜡笔小新 2024-11-24 09:54:53
-
-
本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ...
[详细]
蜡笔小新 2024-11-24 09:51:34
-
本文详细记录了一次在Windows操作系统下将Oracle数据库的控制文件、数据文件及在线日志文件迁移至外部存储的过程,旨在为后续的集群环境部署做好准备。 ...
[详细]
蜡笔小新 2024-11-23 19:57:51
-
权限管理包含三部分:访问页面的权限,操作功能的权限和获取数据权限。页面权限:登录用户所属角色的可访问页面的权限功能权限:登录用户所属角色的可访问页面的操作权限数据权限:登录用户所属 ...
[详细]
蜡笔小新 2024-11-23 16:30:15
-
本文介绍了如何在Windows 10环境下使用Git工具,通过配置SSH密钥对,实现与Linux服务器的无密码登录。主要步骤包括生成本地公钥、上传至服务器以及配置服务器端的信任关系。 ...
[详细]
蜡笔小新 2024-11-23 15:50:03
-
本文详细介绍了如何在PHP的Smarty模板引擎中自定义函数,并通过具体示例演示了这些函数的使用方法和应用场景。适合PHP后端开发者学习。 ...
[详细]
蜡笔小新 2024-11-23 15:39:25
-
本文分享了作者在使用LaTeX过程中的几点心得,涵盖了从文档编辑、代码高亮、图形绘制到3D模型展示等多个方面的内容。适合希望深入了解LaTeX高级功能的用户。 ...
[详细]
蜡笔小新 2024-11-23 12:47:16
-
官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ...
[详细]
蜡笔小新 2024-11-23 10:29:06
-
本文介绍如何通过mysqladmin ext命令监控MySQL数据库的运行状态,包括性能指标的实时查看和分析。 ...
[详细]
蜡笔小新 2024-11-24 13:13:45
-
本文介绍了如何利用 Spring MVC 中的 ModelAttribute 注解,在页面跳转后自动填充表单数据。主要探讨了两种实现方法及其背后的原理。 ...
[详细]
蜡笔小新 2024-11-24 12:55:24
-
本文介绍如何利用REM单位和媒体查询(Media Queries)来创建适应不同屏幕尺寸的网页布局。通过具体示例,展示在不同屏幕宽度下如何调整页面元素的样式。 ...
[详细]
蜡笔小新 2024-11-24 12:50:22
-
本文详细介绍了如何在Windows和Linux系统上配置Openfire服务器,包括安装步骤、数据库配置及端口映射等关键环节。 ...
[详细]
蜡笔小新 2024-11-24 12:33:03
-
本文详细对比了HashMap和HashTable在多线程环境下的安全性、对null值的支持、性能表现以及方法同步等方面的特点,帮助开发者根据具体需求选择合适的数据结构。 ...
[详细]
蜡笔小新 2024-11-24 12:24:40
-
本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ...
[详细]
蜡笔小新 2024-11-24 10:12:21
-