当我尝试在页面上显示我的最新推文时,我收到此错误。
该行的代码是:
$twitts = unserialize( base64_decode( $twitts ) );
foreach ($twitts as $twit) {
?>
<p><i class="fa fa-twitter"></i><a rel="nofollow" target="_blank" href="<?php print esc_url('https://twitter.com/'.$twit->user->screen_name); ?>"><span>@<?php print esc_html($twit->user->screen_name); ?></span></a>
<?php
$twit->text = substr(esc_html($twit->text), 0, $twitter_symbol_count);
print $twit->text . '...'; ?></p>
<?php
}
?>
我做错了什么?!?! :(
答案 0 :(得分:0)
您的错误消息非常清楚。参数3($twitter_symbol_count
)必须很长并且是字符串。
如果您在此处阅读documentation,则可以看到参数2&amp; 3是int
。
如果$twitter_symbol_count
可以投放到int
,您可以使用此代码:
$twit->text = substr(esc_html($twit->text), 0, intval($twitter_symbol_count));
请使用var_dump($twitter_symbol_count);
更新您的问题,以便在不起作用的情况下给您一个确切的答案。
编辑
您的参数$twitter_symbol_count
必须是数字的。不能是string
"yes"
。你想在这做什么?
答案 1 :(得分:0)
我会这样做:
if(ctype_digit(trim($twitter_symbol_count)) || is_int($twitter_symbol_count))
{
$twitter_symbol_count = (int)trim($twitter_symbol_count);
}
else
{
$twitter_symbol_count = strlen(esc_html($twit->text));
}
$twit->text =
substr
(
esc_html
(
$twit->text
),
0,
$twitter_symbol_count
);