代码之家  ›  专栏  ›  技术社区  ›  Maxime ARNSTAMM

php的strip_tags()不起作用

  •  2
  • Maxime ARNSTAMM  · 技术社区  · 15 年前

    我试着稍微调整一下wordpress,但是我在php中是0级的,所以我有点糟糕:/

    我想添加一个自定义的“tweet this”按钮(我知道已经有很多了,我只是想自己做,为了好玩)

    所以,我在尝试:

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

    _execrpt()返回 "<p> ... excerpt ... </p>" 而且strip_tags函数不会删除那些 <p> 标签!

    我做错什么了?

    谢谢,如果显而易见的话,我很抱歉。

    2 回复  |  直到 15 年前
        1
  •  5
  •   Pekka    15 年前

    你的问题是 the_excerpt() 不将其内容返回到 strip_tags() ,但直接使用 echo . 所以 条带标记() (这需要一个 回声 顺便说一下,做任何工作)什么都做不了。

    使用 get_the_excerpt() 相反(为清晰起见插入了换行符,使用时请删除):

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

    顺便说一下,我也会 urlencode() 摘录,否则你一定会遇到麻烦,如果它包含 " 双引号或其他有趣的字符。

        2
  •  0
  •   Ming-Tang    15 年前

    从常识上看,这是不对的: <?php strip_tags(the_excerpt()) ?> ,然后wp医生解释说, the_excerpt's API doc ,它说是回声而不是回响。 嗯,用 ob_start 去解决问题。

    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
    

    注意:我没有任何wordpress api经验。