Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用字符限制器或单词限制器_Javascript_Php - Fatal编程技术网

Javascript 如何使用字符限制器或单词限制器

Javascript 如何使用字符限制器或单词限制器,javascript,php,Javascript,Php,我是PHP新手,无法找到解决方案: 我的网站正确打印了产品说明,有时很长。因此,我希望将文本限制为100个单词,然后显示“ReadMore…”,这将启动java脚本来显示其余文本 以下是我目前拥有的内容,以及迄今为止在没有文本限制的情况下运行良好的内容: <?php echo nl2br($property->description(null, null, true)); ?> 下面是我被建议做的: <?php $long_text = ($property->

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

我的网站正确打印了产品说明,有时很长。因此,我希望将文本限制为100个单词,然后显示“ReadMore…”,这将启动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字以内,但

  • 忽略所有换行符和空行
  • “阅读更多…”只是纯文本,而不是链接。我需要代码来调用javascript,在同一页面上打印其余文本
    有人能帮我完成最后一部分吗?

    下面是一个简单的示例代码,可以实现这一点

    $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;
    
    它所做的是创建一个单词数组,当它达到单词的极限计数时,它添加“readmore链接”并退出循环,然后回显输出。这不是最有效的解决方案,但我希望它能很好地解决您的问题,帮助您解决问题

    做单词扭曲,走第一行

    敏捷的棕色狐狸跳过了懒狗。敏捷的棕色狐狸跳过了懒狗。敏捷的棕色狐狸跳过了懒狗。敏捷的棕色狐狸跳过了懒狗。敏捷的棕色狐狸跳过了懒狗。敏捷的棕色狐狸跳过了懒狗。敏捷的棕色狐狸跳过了懒狗。敏捷的棕色狐狸跳过了懒狗; $newtext=wordwrap($text,100,“
    \n”); $first_line=explode(“
    \n”,$newtext); echo$first_行[0];
    什么是
    word\u limiter
    ?一个好的、易于使用的替代方法是剃须:@u\u mulder它是CodeIgniter的一部分:真的取决于你想要的行为25R43Q在你善意的建议和一些实验之后,我编辑了上面的帖子,但我还没有完全完成。请看我的编辑。密码应该在单词之间加一个空格。“阅读更多链接”是根据标准生成的字符串。要修复换行符,可以编写:echo str_replace(“\n”,“
    ,$output);最后,我希望不要打扰你太多。。。我已经添加了你的代码来修复换行符,效果非常好。又是THX。对我来说,最大的问题是:如何用一个命令替换“阅读更多链接”,打开同一页面上其余隐藏的文本?在我的脚本的另一个实例中,它在另一个页面中打印其余文本,并使用以下命令打开该页面的“详细信息选项卡:
    descriple,这是一个php方法吗?如果是,则使用:$output.='';
    $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];