切割字符串
时间:2007-12-20
来源:互联网
1。切割字符串是网站中经常用到的但是也是最麻烦的,php中计算 字符串的时候一个中文是记做两个字符,所以如果直接切割的话容易出现乱码,下面这个函数就可以解决这个问题
/* 函数 get_substr($string, $length)
** 功能 从文本中截取指定长度字符串
** 参数 $string 要截取的文本
** 参数 $length 要截取的字符串长度
*/
//切割字符串
function get_substr($string,$length)
{
if($sublen>=strlen($string))
{
return $string;
}
$s=\"\";
for($i=0;$i<$sublen;$i++)
{
if(ord($string{$i})>127)
{
$s.=$string{$i}.$string{++$i};
continue;
}else{
$s.=$string{$i};
continue;
}
}
return $s.\"...\";
}
使用方法就不用介绍了吧,但是如果你使用的是文本编辑器的话,使用这个函数的时候又会出现一个问题,那就是html代码会被切割开来从而出现网页变形,这个时候你就必须经html代码去掉了,php本身就自带了一个这样的函数\"str_tags\"例如:
<?= get_substr(strip_tags(str_replace(\" \", \"\", $newsInfo[$i][\"content\"])),0,400);?>
上面这一句的意思就是,首先将代码中的空格去掉,然后用str_tags将html代码去掉,然后用get_substr函数截取400个字符。
2。如果大家觉得用php截取字符串比较麻烦的话也可以考虑用js来,如:
<script>
function StrLenthByByte(str,num)
{
var i;
var mystr;
mystr=str;
i=num
if(str.length>i)
{
mystr=str.slice(0, );
document.write(mystr);
}
else
{
document.write(mystr);
}
}
</script>
用法:
<script>StrLenthByByte(str,num)</script>
str,要截取的字符串num要截取多少
/* 函数 get_substr($string, $length)
** 功能 从文本中截取指定长度字符串
** 参数 $string 要截取的文本
** 参数 $length 要截取的字符串长度
*/
//切割字符串
function get_substr($string,$length)
{
if($sublen>=strlen($string))
{
return $string;
}
$s=\"\";
for($i=0;$i<$sublen;$i++)
{
if(ord($string{$i})>127)
{
$s.=$string{$i}.$string{++$i};
continue;
}else{
$s.=$string{$i};
continue;
}
}
return $s.\"...\";
}
使用方法就不用介绍了吧,但是如果你使用的是文本编辑器的话,使用这个函数的时候又会出现一个问题,那就是html代码会被切割开来从而出现网页变形,这个时候你就必须经html代码去掉了,php本身就自带了一个这样的函数\"str_tags\"例如:
<?= get_substr(strip_tags(str_replace(\" \", \"\", $newsInfo[$i][\"content\"])),0,400);?>
上面这一句的意思就是,首先将代码中的空格去掉,然后用str_tags将html代码去掉,然后用get_substr函数截取400个字符。
2。如果大家觉得用php截取字符串比较麻烦的话也可以考虑用js来,如:
<script>
function StrLenthByByte(str,num)
{
var i;
var mystr;
mystr=str;
i=num
if(str.length>i)
{
mystr=str.slice(0, );
document.write(mystr);
}
else
{
document.write(mystr);
}
}
</script>
用法:
<script>StrLenthByByte(str,num)</script>
str,要截取的字符串num要截取多少
作者: asdld 发布时间: 2007-12-20
比较复杂。

作者: luzhou 发布时间: 2007-12-20
函数有问题 function 参数 是 $length 函数里面根本就没用到这个 变量 用的是$sublen 呵呵
作者: cld007 发布时间: 2007-12-21
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28