我试图做一个"阅读更多"脚本,我有这个警告:
警告:strpos():Offset未包含在
中的字符串中
此警告仅在初始说明要显示一定数量的字母时显示,但完整描述较小。
我使用隐藏的div来执行此脚本,并且当按钮"读取更多"单击,它切换divs
这是初始描述中的代码,仅显示一些单词。
<div class="listdescription">
<br><?= strip_tags(substr($key['description'] ,0, strpos($key['description'], ' ', 90))) ?><br><
/div>
这是完整的描述
<div class="teste"><?= $key['description'] ?></div>
阅读更多链接
<a class="readmore">read more</a>
<style>
.teste{
display:none;
}
</style>
点击阅读更多时:
$( document ).ready(function() {
$('.readmore').click(function(){
$(this).parent().find('.teste').toggle();
$(this).parent().find('.listdescription').toggle();
});
});
答案 0 :(得分:1)
您需要检查字符串是否超出了您要查找的偏移量:
strlen($key['description']) > 90 ? substr($key['description'] ,0, strpos($key['description'], ' ', 90)) : $key['description']
答案 1 :(得分:0)
如果偏移量不在0和字符串长度之间,则此函数会发出警告:
Warning: strpos(): Offset not contained in string in ...
在这种特定情况下,因为$key['description']
短于90个字符。