截取字符串 php

来源:百度知道 编辑:UC知道 时间:2024/06/05 08:57:47
请教高手一个php中截取字符串的问题,我页面中电影标题过长,所以想让截取前20个字符串好不至于换行显示。(就是后面以省略号显示的那种形式)

请问哪位高手能指点一下啊,是PHP中啊。听说LEFT函数可以控制,不知php能用么?如果不可以,那怎么控制啊。我是php+mysql的。

采用我一定加分!!

left函数是mysql的,这个函数截取中文字符会出现乱码。

同理,楼上提供的php的substr函数截取中文字符也会出现乱码。

只有使用自写函数来截取包含中文的字符串,函数如下:
$string为字符串。
$length为要截取的长度。

function wordscut($string,$length) {
if(strlen($string) > $length) {
for($i = 0; $i < $length - 3; $i++) {
if(ord($string[$i]) > 127) {
$wordscut .= $string[$i].$string[$i + 1];
$i++;
} else {
$wordscut .= $string[$i];
}
}
return $wordscut."...";
}
return $string;
}

参考一下substr
echo substr('abcdef', 1); // bcdef
echo substr('abcdef', 1, 3); // bcd
echo substr('abcdef', 0, 4); // abcd

$title=substr('title', 0, 20);

$describe=substr($describe,0,20)."...";

$describe 为需要截取的字符集
用substr函数取 $describe的 第0个字符到第20个字符,
.号为连接符,将“...”连接到截取的20个字符后面
重新赋给$describe变量