用charindex和substring可以实现截取
顺便说一句,如果你得空格不是固定的,你就得定义一个字符串为"a,b,c,d,e,f.........z"
根据空格个数,获取列明,拼接语句.
substr可以截断字符串,但是不能显示省略号,用 Smarty 的的 truncate 方法可以把页面的字符串截断并显示省略号.
/*
功能:截取全角和半角混合的字符串以避免乱码
参数:
$str_cut需要截断的字符串
$length?允许字符串显示的最大长度
*/
if?(strlen($str_cut)?;?$length){
for($i=0;?$i?$length;?$i◆◆)
$str_cut?=?substr($str_cut,0,$i)?.?"...";
}
return?$str_cut;
说明:?
程序的关键语句是:?
则,$i◆◆?跳过对下一个字符的判断.?
最终实现的效果是,$i?变量指向的要么是半角的字符,要么是全角汉字的首字符,不会指向?
全角汉字的第二个字符,所以,当$i?;=?$length?时,循环结束,使用?
$str_cut?=?substr($str_cut,0,$i)?.?"...";?截取字符时自然也就不会出现乱码了.?
本人在写一个程序时需要利用PHP从一段字符串中截取指定长度的一段字符下来.以前在写ASP的时候,参考动网的程序写过类似的程序,不过,还没用PHP写过.?
想偷懒,看有不有现成的代码可以用.于是,在GOOGLE中输入:PHP?截断字符?后查找到一段代码.
preg_split()函数的意思.(意思为通过一个正则表达式分隔给定字符串)
array_splice() 函数与 array_slice() 函数类似,选择数组中的一系列元素,但不返回,而是删除它们并用其它值代替.
join() 方法用于把数组中的所有元素放入一个字符串.
php
$str = 'hypertext language programming';
$chars = preg_split('/ /', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
print_r($chars);
会输出
Array(
[0] = Array (
[0] = hypertext
[1] = 0
)
[1] = Array (
[0] = language
[1] = 10
[0] = programming
以上就是土嘎嘎小编为大家整理的phpnull字符截断相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!