php表中字段content内容前50个字符

只输出前50个字符代码如下<?php$result2=$DB->fetch_array("selectcontentidfrom`dircms_content_posid... 只输出前50个字符 代码如下
<?php
$result2=$DB->fetch_array("select contentid from `dircms_content_posid` WHERE posid=5 order by contentid desc LIMIT $page_start,$num");
for($i=0;$i<$num;$i++){
$id=$result2[$i]["contentid"];

$sql1="SELECT * FROM `dircms_content` WHERE id='$id'";
mysql_query("set names gbk");
$result=mysql_query($sql1) or die("ERROR:".mysql_error());
$rs=mysql_fetch_array($result);
$name=$rs["title"];
$url=$rs["url"];
$time=$rs["updatetime"];
$content_news=$rs["content"];
?>
<ul>
<li><span style="float:left">・<a href="http://www.ee.uestc.edu.cn/2011/2013/<?php echo $url;?>"><?php echo limitTitle($name,56)?></a></span><span style="color:#999; font-size:12px"><?php echo date("Y-m-d",$time)?></span><p style=¨font-size: 12px;
color: rgb(54, 54, 65)¨><?php content内容的前50个字符?> </p><hr style=¨solid 1px #888888¨></li>
</ul>
<?php
}
?>
展开
 我来答
Alljhatv
2014-09-07 · TA获得超过681个赞
知道小有建树答主
回答量:408
采纳率:87%
帮助的人:191万
展开全部

请问,你说的content,是指$content_news吗?

根据你的代码,把:

<?php content内容的前50个字符?>

替换为以下代码:

<?php
// $charset 是你的字符集
// 一般来说,国内常用 GB2312,部分人用 UTF-8
// 根据你自己的需要来改
$charset = 'GB2312';
echo mb_substr($content_news, 0, 50, $charset);
?>

其中,mb_substr()是PHP对substr()的改进,对任意字符集的字符串都能正确处理。

前提是你开启了mbstring扩展库。

再试试?

iFelixli
2014-03-10 · 超过27用户采纳过TA的回答
知道答主
回答量:86
采纳率:0%
帮助的人:66.5万
展开全部
//sub_str($content_news, 0, 50);
function sub_str($str, $start, $lenth) {
    $len = strlen($str);
    $r = array();
    $n = 0;
    $m = 0;

    for($i = 0; $i < $len; $i++) {
        $x = substr($str, $i, 1);
        $a = base_convert(ord($x), 10, 2);
        $a = substr('00000000' . $a, -8);
        if ($n < $start){
            if (substr($a, 0, 1) == 0) {
            } else if (substr($a, 0, 3) == 110) {
                $i += 1;
            } else if (substr($a, 0, 4) == 1110) {
                $i += 2;
            }
            $n++;
        } else {
            if (substr($a, 0, 1) == 0) {
                $r[] = substr($str, $i, 1);
            } else if (substr($a, 0, 3) == 110) {
                $r[] = substr($str, $i, 2);
                $i += 1;
            } else if (substr($a, 0, 4) == 1110) {
                $r[] = substr($str, $i, 3);
                $i += 2;
            } else {
                $r[] = '';
            }
            if (++$m >= $lenth){
                break;
            }
        }
    }

    if ($len > $lenth) {
        return implode($r) . '...';
    } else {
        return implode($r);
    }
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
450128264
2014-03-10 · 超过25用户采纳过TA的回答
知道答主
回答量:58
采纳率:0%
帮助的人:58万
展开全部
<?php
  //截取前50个字符
  if(isset($content[51])$content=mb_substr($content,0,50);
?>
追问
截取之后如何正确输出呢?
追答


//狂汗...

<?php

//content内容的前50个字符

if(isset($content[51])$content=mb_substr($content,0,50);

echo $content;//这不是输出了吗

?>

本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
你以为你以为de
推荐于2016-06-30 · 知道合伙人软件行家
你以为你以为de
知道合伙人软件行家
采纳数:503 获赞数:1339
某培训机构毕业,大专学位。工作2年,喜欢百度知道答题,可以互相学习共通过进步。

向TA提问 私信TA
展开全部
select substr(content,0,49) from lore ;
substr函数实现截取字段字符,0开始,49为:长度
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ylpsghr881212
2014-03-10 · 超过30用户采纳过TA的回答
知道答主
回答量:166
采纳率:0%
帮助的人:62.5万
展开全部
用strsub();可以实现!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式