【问题标题】:Limiting the output of PHP to 100 characters将 PHP 的输出限制为 100 个字符
【发布时间】:2014-10-24 07:16:35
【问题描述】:

我试图限制这段代码的输出 <tr><td valign=\"middle\" style=\"font-size:12px; padding-left:10px; padding-bottom:5px; height:10px\">".$postDetails['big_title']."</td></tr>

所以它会从这个“blah blah blah blah”到 UTF8 中的 100 个字符“blah blah..”?

【问题讨论】:

    标签: php html


    【解决方案1】:

    提问者说他​​想要省略号。我认为自定义函数对此非常有用:

    function limitOutput($string, $limit){
        if (strlen($string) > $limit){
            $string = substr($string, 0, $limit - 3) . '...';
        }
        return $string;
    }
    

    可以这样使用:

    <tr><td valign=\"middle\" style=\"font-size:12px; padding-left:10px; padding-bottom:5px;height:10px\">".limitOutput($postDetails['big_title'],100)."</td></tr>
    

    编辑 - 对它的响应不起作用:

    <?php
    
    function limitOutput($string, $limit){
        if (strlen($string) > $limit){
            $string = substr($string, 0, $limit - 3) . '...';
        }
        return $string;
    }
    
    $postDetails['big_title'] = str_repeat('12345678901234567890', 20);
    
    echo $postDetails['big_title'].'<br><br>';
    
    echo "<tr><td valign=\"middle\" style=\"font-size:12px; padding-left:10px; padding-bottom:5px;height:10px\">".limitOutput($postDetails['big_title'],100)."</td></tr>";
    

    【讨论】:

    • @user3590788 我在编辑后的答案中使用上面的代码对其进行了测试,它似乎工作得很好。
    【解决方案2】:

    &lt;tr&gt;&lt;td valign=\"middle\" style=\"font-size:12px; padding-left:10px; padding-bottom:5px; height:10px\"&gt;".substr($postDetails['big_title'], 0, 100)."&lt;/td&gt;&lt;/tr&gt; add this , 0, 100, 'utf-8') ." ...

    【讨论】:

      【解决方案3】:

      只需检查字符串是否超过 100 个字符,如果是,则使用 substr 并附加省略号,如果不是则保持原样。示例:

      $big_title = (strlen($postDetails['big_title']) > 100) ? substr($postDetails['big_title'], 0, 100) . '&hellip;' : $postDetails['big_title'];
      
      echo "
          <tr>
              <td 
                  valign=\"middle\" 
                  style=\"font-size:12px; padding-left:10px; padding-bottom:5px; height:10px\"
              >"
              .$big_title.
              "</td>
          </tr>";
      

      【讨论】:

      • @vlzvl 哇我不知道有这样的东西,好建议
      【解决方案4】:

      你可以使用

      substr(strip_tags($postDetails['big_title']), 0, 70);
      

      它将去除输出中的任何其他元素。

      【讨论】:

        【解决方案5】:

        使用函数substr 最多保留100 个字符的字符串。 示例:

        <tr><td valign=\"middle\" style=\"font-size:12px; padding-left:10px; padding-bottom:5px; height:10px\">".substr($postDetails['big_title'], 0, 100)."</td></tr>
        

        【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-07
        • 2019-05-05
        • 2010-11-25
        • 1970-01-01
        相关资源
        最近更新 更多