我尝试将fade
类应用于100个字或更多字的所有字符串。
这是我到目前为止的代码:
$descArray = explode(" ", stripslashes($longDesc));
echo "word count for array: ".count($descArray);
$shortDesc = implode(" ", array_splice($descArray, 0, 100));
if(count($descArray) >= 100) {
print "<div class='fade'>".$shortDesc."</div>";
} else {
print "<div>".$shortDesc."</div>";
}
根据审核后的源代码,fade
类仅适用于(看起来像是)200或更长的长度 - 即使它被指定将该类应用于所有长度为100或更长的字符串。我测试了一个lorem生成器 - 一个分为199的数组的字符串从未得到应用它的淡入淡出类,但是当它被分成200个数组时它就完成了。
我确定我在这里犯了一个愚蠢的错误,但它是什么?
答案 0 :(得分:0)
为什么不使用str_word_count()
php函数执行您尝试实现的操作?
http://php.net/manual/en/function.str-word-count.php
试试这个:
$descArray = explode(" ", stripslashes($longDesc));
$shortDesc = stripslashes($longDesc);
$wordCount = str_word_count($shortDesc);
if($wordCount < 100) {
echo "<div>".$shortDesc."</div>";
} else {
$shortDesc = implode(" ", array_splice($descArray, 0, 100))
echo '<div class="fade">'.$shortDesc.'</div>';
}
答案 1 :(得分:0)
你在计算之前拼接你的阵列。 array_splice拼接它将它分配给自己。
$array = array(1,2,3,4,5,6,7,8,9);
array_splice($array, 0,3);
print_r($array);
新数组将为array(1, 2, 3, 4);
对于计算文字大小strlen和str_word_count来计算单词是一个更好的选择。
答案 2 :(得分:0)
它是 strlen 函数来计算字符串长度。