最后一行中的echo
似乎导致了问题。但是我不能把它拿出来,或者它只是直接打印线。我该如何重写那部分?另外,其他php函数的编写方式还有什么问题吗?
$output .= "
<script src='http://platform.twitter.com/widgets.js'></script>
<a href='http://twitter.com/share' class='twitter-share-button'
data-url='". the_permalink() ."'
data-via='username'
data-text='". the_title() ."'
data-count='horizontal'>Tweet
</a>
<iframe src='http://www.facebook.com/plugins/like.php?href=". echo urlencode(get_permalink($post->ID)) ."&layout=button_count&show_faces=false&width=90&action=like&colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:90px; height:20px;'></iframe>'";
答案 0 :(得分:2)
您应该删除“echo”,在字符串连接中不需要它:
$output .= "
<script src='http://platform.twitter.com/widgets.js'></script>
<a href='http://twitter.com/share' class='twitter-share-button'
data-url='". the_permalink() ."'
data-via='username'
data-text='". the_title() ."'
data-count='horizontal'>Tweet
</a>
<iframe src='http://www.facebook.com/plugins/like.php?href=". urlencode(get_permalink($post->ID)) ."&layout=button_count&show_faces=false&width=90&action=like&colorscheme=light' scrolling='no' frameborder='0' allowTransparency='true' style='border:none; overflow:hidden; width:90px; height:20px;'></iframe>'";
答案 1 :(得分:1)
echo
不属于字符串中间。它没有返回任何内容,因此将它连接在串联中是没有意义的。
你正在做的连接很长,我相信有一些错误。
最后还有一个额外的单引号。
您为iframe构建的网址,您既可以使用urlencode,也可以手动转义&符号。
构建网址的更好方法是:http_build_query
并让系统为您整理。链接:http://www.php.net/manual/en/function.http-build-query.php让系统将网址放在一起几乎总是更好。因为它位于一堆html的中间,所以你可以在整个事情上运行htmlentities
:http://www.php.net/manual/en/function.htmlentities.php这样就可以在html中使用了。
除非您为其提供代码,否则无法确定其他功能是否不正确。如果他们总是返回字符串,你就没事了。
如果代码变得复杂,不要害怕将代码分解成多个块。
答案 2 :(得分:0)
看起来你的输出结尾有一个额外的'(撇号)。
</iframe>'