如何使用character_limiter或word_limiter

时间:2017-02-13 15:03:54

标签: javascript php

PHP 新手,无法找到解决方案:

我的网站正确打印产品说明,有时会很长。因此,我想将文本限制为例如100个单词,然后显示"阅读更多..."这会启动一个java脚本来显示文本的其余部分。

这是我目前拥有的,到目前为止没有文字限制的工作正常:

<?php echo nl2br($property->description(null, null, true)); ?>

以下是我的建议:

<?php $long_text = ($property->description(null, null, true)); // STRING!
$word_limit = 250; //your word limit, Int
$output = "";
$parts = explode( " ", $long_text );
foreach( $parts as $index=>$word ){
  $output .= "$word ";
  if( intval( $index ) >= intval( $word_limit ) ){
$output .= "READ MORE LINK";
break;
  }
}
echo $output;
?>

因此,脚本确实将文本限制为250个单词,但

  1. 忽略所有换行符和空行
  2. &#34;阅读更多......&#34;只是纯文本 - 而不是链接。我需要代码来调用javascript,在同一页面上打印其余的文本。
  3. 有人可以帮忙完成最后一部分吗?

2 个答案:

答案 0 :(得分:1)

这是一个简单的示例代码,可以解决这个问题

$long_text = "Your very long description"; // STRING!
$word_limit = 100; //your word limit, Int

$output = "";
$parts = explode( " ", $long_text );
foreach( $parts as $index=>$word ){
  $output .= "$word ";
  if( intval( $index ) >= intval( $word_limit ) ){
    $output .= "READ MORE LINK";
    break;
  }
}
echo $output;

它的作用是制作一个单词数组,当它达到单词的限制数时,它会添加&#34;阅读更多链接&#34;然后退出循环,然后回显输出。它不是最有效的解决方案,但我希望它能很好地解决您的问题,以帮助解决问题。

答案 1 :(得分:0)

  

做单词扭曲并走第1行

$text = "The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.";
$newtext = wordwrap($text, 100, "<br />\n");
$first_line=explode("<br />\n",$newtext);
echo $first_line[0];

http://phpfiddle.org/main/code/0tqt-a558