【问题标题】:Truncate string to certain amount of characters, ignoring HTML将字符串截断为一定数量的字符,忽略 HTML
【发布时间】:2013-07-04 18:25:17
【问题描述】:

我正在使用 Codeigniter 的 character_limiter() 函数将字符串截断为一定数量的字符。我正在使用它来创建帖子摘录。

问题是,字符串包含 HTML 标记,因此这些字符被计算在内,但它们不可见。此外,它还可以在标签中间截断字符串,打乱页面格式。

例如,如果我有以下情况:

This is some text with a <a href="http://google.com">a link</a>

如果我将其限制为 54 个字符,它将在“链接”中的 a 之后切断,并且不会有结束标记,并将其后面的所有内容变成锚文本。

如何防止这种情况发生?我应该在限制字符之前完全去掉所有 HTML 标记吗?

【问题讨论】:

  • 通常在显示摘录时,您不会显示链接等,因此只需剥离所有 HTML 即可。

标签: php codeigniter


【解决方案1】:

是的,character_limiter(strip_tags($text),54); 应该适合你。

【讨论】:

    【解决方案2】:
    $this->load->helper('text');
    echo word_limiter(strip_tags($description),40);
    

    这就是我为元描述所做的,试试http://caverne.fr

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-02-27
      • 2021-07-03
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      相关资源
      最近更新 更多