PHP'nin strip_tags () çalışmaz

2 Cevap php

:/ Ben bir nebze bir wordpress çimdik çalışıyorum, ama ben php seviyesi 0 duyuyorum, bu yüzden ben biraz emmek

Ben (eğlenmek için, ben zaten onları bir gazillion orada olduğunu biliyorum, ben sadece kendi başıma yapmak istedim) özel bir düğme 'Bu tweet' eklemek istiyorum

Yani, ben bu çalışıyorum:

<a href="http://twitter.com/home?status=<?php strip_tags(the_excerpt()) ?>" >tweet this</a>

the_excerpt () döndürür "<p> ... excerpt ... </p>" ve strip_tags fonksiyon bu <p> etiketleri şerit yok!

Ben yanlış ne yapmalıyım?

Teşekkürler, ve bariz ise üzgünüm.

2 Cevap

Senin sorunun the_excerpt() strip_tags() onun içeriğini dönmek, ancak doğrudan kullanarak çıktılar olmamasıdır echo. Yani strip_tags() hiçbir şey yapamaz (bir echo herhangi bir işi yapmak için arada önceki gerekir ki).

Kullan get_the_excerpt() yerine (kullanırken netlik için eklenen satır sonu, kaldırmak):

<a href="http://twitter.com/home?status=
<?php echo strip_tags(get_the_excerpt()); ?>" >tweet this</a>

Bu arada, ben de urlencode() alıntıdır, bunu " çift tırnak veya diğer komik karakterler içeriyorsa, aksi halde derde uğrarsınız olacaktır.

This doesn't look right by common sense: <?php strip_tags(the_excerpt()) ?>, then the WP doc explained, the_excerpt's API doc, it said it echoes instead of returning it. Well, use ob_start to workaround.

ob_start("callback");
the_excerpt();
$excerpt = ob_get_contents();

?>
<a href="http://twitter.com/home?status=<?php echo strip_tags($excerpt) ?>" >tweet this</a>
<?php

Not: Herhangi bir WordPress API deneyimi yok.