首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >截断函数不起作用

截断函数不起作用
EN

Stack Overflow用户
提问于 2013-01-11 01:58:45
回答 1查看 68关注 0票数 0

我正在从mysql数据库中提取一些数据,并用它构建一个表。我有一个截断函数,可以截断很长的字符串。

下面是截断函数:

代码语言:javascript
复制
    function myTruncate($string, $limit, $break=".", $pad="...")
    {
      // return with no change if string is shorter than $limit
      if(strlen($string) <= $limit) return $string;

      // is $break present between $limit and the end of the string?
      if(false !== ($breakpoint = strpos($string, $break, $limit))) {
        if($breakpoint < strlen($string) - 1) {
          $string = substr($string, 0, $breakpoint) . $pad;
        }
      }
      return $string;
    }

下面是函数被调用的建表位置:

代码语言:javascript
复制
    while($row = mysql_fetch_assoc($liveItemQuery)){
       //get donation type
       $content .= "<tr><td>" . $i . "</td><td>" . $row['timestamp'] . "</td><td>" . myTruncate($row['description'], 25) . "</td><td>" . $row['po_number'] . "</td><td>" . number_format($row['amount'], 2) . "</td><td><a href=\"?view=expenses&itemid=" . $row['id'] . "\">Edit</a></td></tr>";
       $i++;
   }

也就是说,不会对description字段执行截断。值得注意的是,description在数据库中存储为数据类型text。此外,还有一个myTruncate($row['description'], 25)报告string(1995)的var转储,即文本的完整长度。

那么到底是怎么回事呢?

提前感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-01-11 02:54:44

“无论如何都要截断”。容易多了。

代码语言:javascript
复制
function myTruncate($s, $len){
    return substr($s, 0, $len) . (strlen($s)>$len? '...':'');
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14264272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档