php调用数据,如何截取字符长度

ImFantasy 2008-11-29 08:27:20


$dbh = @mysql_connect("localhost","root","pw");
if(!$dbh){die("error");}
@mysql_select_db("db", $dbh);
@mysql_query("set names 'gbk'");
$q = "SELECT * FROM cdb_threads where fid=20 order by dateline desc limit 7";
$rs = mysql_query($q, $dbh);
while($row = mysql_fetch_array($rs))
echo "<li><span> [$row[author]] </span><span class='fcbbs'><a href=http://bbs.domain.com/viewthread.php?tid=$row[tid] target='_blank' title='$row[subject] $row[lastposter]最后回复'>$row[subject]</a></span></li>";
@mysql_close($dbh);



疑问 如何控制$row[subject] 的字符才长度呀, 我想控制一下,但是我试了一晚上了,还是不会, 我是刚刚自学的,希望大家帮助我一下。 刚新做一个小站学习中....

说明:我这个是在discuz论坛以外的页面调用的, 因此我不知道能不能用discuz的截取字符的函数, 如果可以用? 在哪里呢,如何使用呀。


另外:

echo "<li><span> [$row[author]] </span><span class='fcbbs'><a href=http://bbs.domain.com/viewthread.php?tid=$row[tid] target='_blank' title='$row[subject] $row[lastposter]最后回复'>$row[subject]</a></span></li>";


echo 里面的这个<span class='fcbbs'> 如何应用到css里面去呢? 我尝试改成双引号, 貌似改了就不能用了。

这里有两个span 我想他们用不一样的css属性。

...全文
168 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
kuzhijun 2010-04-20
  • 打赏
  • 举报
回复
[size=10pxfdfdf
ImFantasy 2008-11-30
  • 打赏
  • 举报
回复
我这个是gbk的,都是中文。 怎么办呢?
ImFantasy 2008-11-30
  • 打赏
  • 举报
回复
顶一下。
ImFantasy 2008-11-30
  • 打赏
  • 举报
回复

<?php

$dbh = @mysql_connect("localhost","root","pw");
if(!$dbh){die("error");}
@mysql_select_db("db", $dbh);
@mysql_query("set names 'gbk'");
$q = "SELECT * FROM cdb_threads where fid=20 order by dateline desc limit 7";
$rs = mysql_query($q, $dbh);
/*-------------------------*/
mb_internal_encoding("gb2312");
$string = $row[subject];
$mystring = mb_substr($string,1,5);
echo $mystring;
/*----------------------*/
while($row = mysql_fetch_array($rs))
echo "<li><span> [$row[author]] </span><a href=http://bbs.----.com/viewthread.php?tid=$row[tid] target='_blank' title='$row[subject] $row[lastposter]最后回复'>$mystring</a></li>";
?>


请问我这里的mb_substr($string,1,5); 函数是哪里错了呀。 这样返回的是空的, $mystring 变量什么都没有





<?php
mb_internal_encoding("gb2312");
$string = "我来测试一下,测试一下!";
$mystring = mb_substr($string,1,5);
echo $mystring;
?>


而这样就可以返回正确的截取。


请问各位大侠。 错误在哪里呀?
iasky 2008-11-29
  • 打赏
  • 举报
回复
mb_substr

http://cn.php.net/mb_substr
liguang0717 2008-11-29
  • 打赏
  • 举报
回复
有没有中文

我这里有一个 截取 utf-8编码的中文例子
/**
* 截取UTF-8编码下字符串的函数
*
* @param string $str 被截取的字符串
* @param int $length 截取的长度
* @param bool $append 是否附加省略号
*
* @return string
*/

function CutStr($str,$start, $length = 0, $append = false)
{
$str = trim($str);
$strlength = strlen($str);
if ($length == 0 || $length >= $strlength) {
return $str;
} elseif ($length < 0) {
$length = $strlength + $length;
if ($length < 0) {
$length = $strlength;
}
}

if (function_exists('iconv_substr')) {
$newstr = iconv_substr($str, 0, $length, 'UTF-8');
}elseif (function_exists('mb_substr')) {
$newstr = mb_substr($str, 0, $length, 'UTF-8');
}else {
$newstr = trim_right(substr($str, 0, $length));
}

if ($append && $str != $newstr) {
$newstr .= '...';
}

return $newstr;
}
jiang_jiajia10 2008-11-29
  • 打赏
  • 举报
回复
substring 截取一下啊

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧