【问题标题】:How to limit the length of the title to 20 characters?如何将标题的长度限制为 20 个字符?
【发布时间】:2014-10-08 16:12:39
【问题描述】:

如何将标题的长度限制为 20 个字符?

我是新手,谢谢=)

    <?php
    include("topic.php");
    $RSS = new topic("http://feeds.bbci.co.uk/news/rss.xml");
    for( $i = 0; $i < 11; $i++ )
    {
    echo '<li><a href="'.$RSS->link[$i].'" target="_blank">'.$RSS->title[$i].'</a></li>';
    }
    ?>

【问题讨论】:

    标签: php rss title


    【解决方案1】:

    使用PHP的substr()函数:

    echo '<li><a href="'.$RSS->link[$i].'" target="_blank">'. substr($RSS->title[$i], 0, 20) .'</a></li>';
    

    【讨论】:

      【解决方案2】:

      既然你称自己是新手,我想你会很感激一些提示:

      • 使用htmlspecialchars 函数将字符串转义到 避免安全问题(例如:XSS 攻击)。

      • 使用mb_* 函数来避免编码问题。

      • 如果您想处理任何项目编号,请不要使用硬编码 数字 - 例如,使用 foreach

      如果您希望修复所有这些问题并添加大于 20 个字符的椭圆标题,请尝试以下操作:

      mb_internal_encoding('UTF-8');
      
      include("topic.php");
      
      $RSS = new topic("http://feeds.bbci.co.uk/news/rss.xml");
      $titleMaxCharacters = 20;
      foreach($RSS->link as $i => $link)
      {
          $titleHtml = '';
          if( isset($RSS->title[$i]) ) {
              $title = $RSS->title[$i];
              $handledTitle = mb_strlen($title) > $titleMaxCharacters
                                ? mb_substr($title, 0, $titleMaxCharacters) . '...'
                                : $title;
              $titleHtml = htmlspecialchars($handledTitle, ENT_NOQUOTES, 'UTF-8');
          }
      
          $linkHtml = htmlspecialchars($link, ENT_COMPAT, 'UTF-8');
      
          echo '<li><a href="'.$linkHtml.'" target="_blank">'.$titleHtml.'</a></li>';
      }
      

      【讨论】:

        【解决方案3】:

        这是修改后的代码

        <?php
        include("topic.php");
        $RSS = new topic("http://feeds.bbci.co.uk/news/rss.xml");
        for( $i = 0; $i < 11; $i++ )
        {
          $sub_title = (strlen($RSS->title[$i]) > 20) ? substr($RSS->title[$i],0,20).'...' : $RSS->title[$i];
        echo '<li><a href="'.$RSS->link[$i].'" target="_blank">'.$sub_title.'</a></li>';
        }
        
        ?>
        

        【讨论】:

        • Hi =) 解析错误:语法错误,第 6 行 /home/fortune/public_html/888.php 中出现意外的“$RSS”(T_VARIABLE)
        猜你喜欢
        • 2020-06-20
        • 2021-07-23
        • 1970-01-01
        • 2013-10-02
        • 2017-11-12
        • 1970-01-01
        • 1970-01-01
        • 2015-06-01
        • 1970-01-01
        相关资源
        最近更新 更多