0

phpQueryを介してGoogleplusoneボタンを含むテンプレートを処理したいのですが、次の問題が発生します。

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+ バッジを含めるときに同じ問題が発生しました。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 に答える