0

我想通过 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 中遇到了更多这些“翻译”问题)。

4

2 回答 2

1

我在包含 google+ 徽章时遇到了同样的问题。我可以强制谷歌的代码生成器使用 div 容器生成代码。我只需要勾选“html5 有效代码”复选框。

于 2011-12-27T13:49:31.853 回答
0

我一直在寻找解决这个问题的方法,但无济于事。我发现了一个可怕的解决方法。我确信这不是最优雅的方法,但至少它解决了问题。

而不是标签:

<g:plusone>...</g:plusone>

利用:

<g__0058__plusone>...</g__0058__plusone>

然后在输出之前简单地 str_replace 结果:

echo str_replace("__0058__",":",$doc->html()); 

基本上,在通常会放置冒号 (:) 的标签中,您会放置0058。请不要投票,这是一个非常不优雅的解决方案,我意识到这一点,但至少它是解决这个老问题的一种解决方法。

于 2013-06-10T19:14:39.207 回答