2016-04-07 10 views
-2

içinde verilen dize, sayfamdaki en yeni tweet'leri görüntülemeye çalıştığımda bu hatayı alıyorum. Bu çizginin üzerindeUyarı: substr() 3 parametresinin uzun olmasını bekler,

kodudur:

$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 
} 
?> 

yanlış yapıyorum?!?! :(

+0

Bitti! Öneri için teşekkürler! –

+0

'$ twitter_symbol_count' dize ve uzun olması gerekiyor. Hata, sorunun ne olduğunu söyledi. –

+0

Hey Daniel, aslında ben bir ekstra topal "kodlayıcı", bu yüzden eğer "benim için çiğnemek mümkün olsaydı, ben dünyanın en mutlu noob olurdum! =) –

cevap

0

Kişisel hata mesajı. Parametresi 3 ($twitter_symbol_count) çok açıktır uzun olmak zorunda ve dize bu.

sen documentation size 2 olduğu parametre görebilirsiniz burada okursanız.

$twit->text = substr(esc_html($twit->text), 0, intval($twitter_symbol_count)); 

soruyla güncelleyin: $twitter_symbol_countint için dökülebilir

Eğer bu kodu kullanabilirsiniz, eğer bu işe yaramazsa kesin bir cevap vermek için.

DÜZENLEME

Kişisel parametre $twitter_symbol_count sayısal bir şey olmalı. string"yes" olamaz. Burada ne yapmak istersin?

+0

Paylaştığınız kodu denedim ve bu hatayı değiştirmeme yardımcı oldu: Uyarı: Nesne olmayan nesnenin özelliğini atamayı denedim ... –

+0

'$ twitter_symbol_count' cevabının sayısal olması gerekir.' 'var_dump'ndan 'dize' gibi görünüyor, bu yüzden burada tam olarak ne yapmak istediğinizi bilmiyorum. –

+0

Bu betik hakkında hiçbir fikrim yok. bir temadan ... Benim göstermem gerekiyordu tweets ama değil. Tek yaptığı bana bu hatayı veriyor. Tüm wp-içeriğini WordPress'imde aradığımda, bu diziyi sadece bu kodda buldum .... Bu müthiş. Sanırım bu her tweet için karakterlerin sınırı ... –

0

Bunu yapacağını:

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 
    ); 
+0

Hey, çözümünüzü denedi. Ve "Uyarı: Nesne olmayan nesnenin mülkünü atama girişiminde bulunma ..." ($ twit-> text = substr (esc_html ($ twit-> text), 0, $ twitter_symbol_count); " –

+0

Sadece dumbly silindi ($ twit-> text = substr (esc_html ($ twit-> text), 0, $ twitter_symbol_count); Sadece boş alan: D –

+0

@DimaGudesk Düzenleme bölümüne bakın Hata mesajınız size bir satır numarası vermeli ve bu satır numarası Her neyse, eğer orijinal sorununuzu çözmüş olsaydım, cevabımı doğru olarak işaretlemekte özgürsün – MonkeyZeus