我想通过phpQuery处理带有Google plusone按钮的模板,我遇到了以下问题:
require_once( "phpQuery.php" );
$p = phpQuery( "<g:plusone></g:plusone>" );
echo $p->html();
预期输出为:
<g:plusone></g:plusone>
但相反,输出是:
<plusone></plusone>
哪个与谷歌所期望的不匹配,因此该按钮不再起作用。如何阻止phpQuery更改(修复?)我的代码,或者如何处理完成后如何解决这个问题而不将字符串从plusone更改为g:plusone? (这是一个讨厌的解决方法,另外,我在phpQuery中遇到了更多这些'翻译'问题)。
答案 0 :(得分:1)
我在使用Google +徽章时遇到了同样的问题。我可以强制谷歌的代码生成器生成带有div容器的代码。我只需勾选“html5有效代码”复选框。
答案 1 :(得分:0)
我一直在寻找解决这个问题的方法,但无济于事。我发现了一个可怕的解决方法。我确信这不是最优雅的方式,但至少它解决了这个问题。
而不是标签:
<g:plusone>...</g:plusone>
使用:
<g__0058__plusone>...</g__0058__plusone>
然后在输出之前简单地str_replace结果:
echo str_replace("__0058__",":",$doc->html());
基本上在标记中你通常会放一个冒号(:),而是放置 0058 。请不要downvote,这是一个非常不优雅的解决方案,我意识到这一点,但至少这是解决这个老问题的方法。