限制表格单元格中显示的字符数

时间:2010-12-27 20:00:46

标签: php html

我有一个PHP循环,可以将数据添加到表格单元格中。但是,我想将静态大小应用于表格单元格,因此如果返回的数据超出了单元格内部的数据,我希望多余的字符被截断并以“...”结尾

例如,一个数据条目有270个字符,但只有前100个字符显示在表格单元格中。跟着“......”

关于如何做到这一点的任何想法?

谢谢!

4 个答案:

答案 0 :(得分:8)

if (strlen($str) > 100) $str = substr($str, 0, 100) . "...";

答案 1 :(得分:1)

您可以使用mb_strimwidth

printf('<td>%s</td>', mb_strimwidth($cellContent, 0, 100, '…'));

如果要截断字边界,请参阅

您还可以使用CSS属性text-overflow: ellipsis

控制内容显示

不幸的是,浏览器支持各不相同。

答案 2 :(得分:0)

function print_dots($message, $length = 100) {
  if(strlen($message) >= $length + 3) {
    $message = substr($message, 0, $length) . '...';
  }

  echo $message;
}

print_dots($long_text);

答案 3 :(得分:0)

$table_cell_data = "";  // This would hold the data in the cell
$cell_limit      = 100; // This would be the limit of characters you wanted

// Check if table cell data is greater than the limit
if(strlen($table_cell_data) > $cell_limit) {
   // this is to keep the character limit to 100 instead of 103. OPTIONAL
   $sub_string = $cell_limit - 3; 

   // Take the sub string and append the ...
   $table_cell_data = substr($table_cell_data,0,$sub_string)."...";
}

// Testing output
echo $table_cell_data."<br />\n";