
php高手请进,关于调取新闻标题的程序或函数
我要才从数据库里面读取新闻标题,显示新闻标题列表规定每行调用60个字节当该新闻标题超过40个字节时就让他显示成一行,大于60的时候就缩短到60个字节,当他小于40的时候就...
我要才从数据库里面读取新闻标题,显示新闻标题列表
规定每行调用60个字节
当该新闻标题超过40个字节时就让他显示成一行,大于60的时候就缩短到60个字节,
当他小于40的时候就让下一个标题来补充这一行(该信息字节=60-上一个的字节-2),当补充还不够时,继续让下一条来补充。依次类推。。
php程序或函数怎么写? 展开
规定每行调用60个字节
当该新闻标题超过40个字节时就让他显示成一行,大于60的时候就缩短到60个字节,
当他小于40的时候就让下一个标题来补充这一行(该信息字节=60-上一个的字节-2),当补充还不够时,继续让下一条来补充。依次类推。。
php程序或函数怎么写? 展开
展开全部
你的程序没有给出来,我下面演示一下如何写这样的代码,希望对你有一点启发:
方案一、使用CSS来控制60个宽度,自动完成折行的功能,PHP代码只需要负责截断超过60的,和对大于40的添加'<BR>',演示代码:
echo '<table width=300><tr><td>';//300由你测试
while($row=mysql_fetch_array($result)){
$title=$row["title"];
$id=$row["id"];
if (strlen($title)>60) $title=substr($title,0,60);
echo "<a href=detail.php?id=$id>$title</a>";
}
echo '</table>';
方案二、完全用PHP代码实现所有的换行,实例代码如下:
$line_size=60;//初始化先前行剩余60
while($row=mysql_fetch_array($result)){
$title=$row["title"];
$id=$row["id"];
//下面截断超过60的
if (strlen($title)>60) $title=substr($title,0,60);
//下面判断先前行剩余多少,分别先前行已满、加上本行不满、加上本行要满三种情况处理
if ($line_size<20) {echo '<br>';$line_size=60-strlen($title);}
else if ($line_size+strlen($title)<60) {$line_size-=strlen($title)+2;}
else {$title=substr($title,0,60-2-$line_size).'<BR>'.substr($title,60-2-$line_size);$line_size=$line_size+60-strlen($title);}
//输出本行内容
echo "<a href=detail.php?id=$id>$title</a>";
}
核心部分是中间判断先前行剩余多少,如果剩下不多(先前行已经超过40)那就先换行,然后设置剩余为60-当前行长;如果先前行剩余部分加上本行都没有满,那么就输出当前行,并且把剩余减去当前行长度+2;最后剩下的情况是先前行没有满、但是加上当前行会满,这时候要在当前行中间插入<BR>,然后设置剩余为加上60再减去当前行长。
方案一、使用CSS来控制60个宽度,自动完成折行的功能,PHP代码只需要负责截断超过60的,和对大于40的添加'<BR>',演示代码:
echo '<table width=300><tr><td>';//300由你测试
while($row=mysql_fetch_array($result)){
$title=$row["title"];
$id=$row["id"];
if (strlen($title)>60) $title=substr($title,0,60);
echo "<a href=detail.php?id=$id>$title</a>";
}
echo '</table>';
方案二、完全用PHP代码实现所有的换行,实例代码如下:
$line_size=60;//初始化先前行剩余60
while($row=mysql_fetch_array($result)){
$title=$row["title"];
$id=$row["id"];
//下面截断超过60的
if (strlen($title)>60) $title=substr($title,0,60);
//下面判断先前行剩余多少,分别先前行已满、加上本行不满、加上本行要满三种情况处理
if ($line_size<20) {echo '<br>';$line_size=60-strlen($title);}
else if ($line_size+strlen($title)<60) {$line_size-=strlen($title)+2;}
else {$title=substr($title,0,60-2-$line_size).'<BR>'.substr($title,60-2-$line_size);$line_size=$line_size+60-strlen($title);}
//输出本行内容
echo "<a href=detail.php?id=$id>$title</a>";
}
核心部分是中间判断先前行剩余多少,如果剩下不多(先前行已经超过40)那就先换行,然后设置剩余为60-当前行长;如果先前行剩余部分加上本行都没有满,那么就输出当前行,并且把剩余减去当前行长度+2;最后剩下的情况是先前行没有满、但是加上当前行会满,这时候要在当前行中间插入<BR>,然后设置剩余为加上60再减去当前行长。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询