2013-05-12 78 views
1

我正在为自定义博客写一个字数限制功能。我想限制索引页上的文字并删除任何格式。目前我的代码是:如何保持我的段落分开?

function limit_words($string, $word_limit){ 
    // Check if the string is too long 
    $text=strip_tags($string); 
    $words=explode(" ", $text); 
    $size=sizeof($words); 

    // Run the script 
    if ($size >= $word_limit){ 
    return implode(" ", array_splice($words, 0, $word_limit).' <a href="#">Read more ...</a>'); 
    } 
    else { return $text; } 
} 

它很好,除非我有多个段落。如果我的第一段是20个单词,而我的限制是50个,那么它会去掉标签和空格,但是会将第一段的最后一个单词和第二个段的第一个单词合并为一个单词。有没有办法确保段落之间有空格?我是新手,所以如果这是一个简单的解决方案,请告诉我这很简单,我会把自己锁在地窖里,直到它陷入。或者类似的东西。

+1

相应地将段落文本放入'p'标记和样式中。 – Rikesh 2013-05-12 15:53:49

回答

0

查看html源文件,可能您的文本在换行符之间使用了换行符作为分隔符,这对html没有多大意义。和调试:打印出单词的数组,看看段落的限制。换行符是没有空格的,所以它保持“一个字”。

如果是换行符,请将其替换为<br/>以便在html中显示或使用段落。

+0

这已经解决了我的问题 - 我的代码(从我的数据库中提取)已经进入一行。它强调了另一个问题 - 当我在编辑中给他们打电话时,保持我的线条不同。这似乎没有打球。 – Nate 2013-05-12 16:24:05

+0

好吧,部分荣誉归Rikesh所有,我只是解开了他的评论。 ;-) – flaschenpost 2013-05-12 16:26:47