strip_tags php () non funziona
Domanda
Sto cercando di modificare un po 'piccolo di un wordpress, ma io sono di livello 0 in php, quindi ho un pò succhiare: /
Voglio aggiungere un costume 'twittare questo' tasto (so che c'è già un trilione di loro, volevo solo farlo per conto mio, per divertimento)
Quindi, sto cercando in questo modo:
<a href="http://twitter.com/home?status=<?php strip_tags(the_excerpt()) ?>" >tweet this</a>
the_excerpt () restituisce "<p> ... excerpt ... </p>"
ei strip_tags funzione non elimina questi tag <p>
!
Che cosa faccio di sbagliato?
Grazie, e scusate se è ovvio.
Soluzione
Il tuo problema è che the_excerpt()
non restituisce il suo contenuto strip_tags()
, ma le uscite direttamente utilizzando echo
. Così strip_tags()
(che avrebbe bisogno di un echo
precedente dal modo di fare qualsiasi lavoro) non può fare nulla.
Utilizzare get_the_excerpt () invece (linea di interruzione inserito, per chiarezza, rimuovere utilizzando):
<a href="http://twitter.com/home?status=
<?php echo strip_tags(get_the_excerpt()); ?>" >tweet this</a>
A proposito, vorrei anche urlencode()
il brano, sei destinato a incorrere in problemi altrimenti se contiene citazioni "
double o altri caratteri divertenti.
Altri suggerimenti
Questa non guardare a destra dal buon senso: <?php strip_tags(the_excerpt()) ?>
, poi il doc WP ha spiegato, di the_excerpt API doc , ha detto che riecheggia invece di restituirla.
Beh, utilizzare ob_start
alla soluzione.
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
Nota:. Non ho alcuna esperienza API di WordPress