php's strip_tags() won't work
I'm trying to tweak a tiny bit a wordpress, but i am level 0 in php, so i kinda suck :/
I want to add a custom 'tweet this' button (i know there already is a gazillion of them, i just wanted to do it on my own, for fun)
So, i'm trying t开发者_JS百科his :
<a href="http://twitter.com/home?status=<?php strip_tags(the_excerpt()) ?>" >tweet this</a>
the_excerpt() returns "<p> ... excerpt ... </p>"
and the strip_tags function does not strip those <p>
tags !
What do i do wrong ?
Thanks, and sorry if it is obvious.
Your problem is that the_excerpt()
does not return its contents to strip_tags()
, but outputs it directly using echo
. So strip_tags()
(which would need a preceding echo
by the way to do any work) can't do anything.
Use get_the_excerpt() instead (line break inserted for clarity, remove when using):
<a href="http://twitter.com/home?status=
<?php echo strip_tags(get_the_excerpt()); ?>" >tweet this</a>
By the way, I would also urlencode()
the excerpt, you're bound to run into trouble otherwise if it contains "
double quotes or other funny characters.
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
Note: I don't have any WordPress API experience.
精彩评论