phpQuery ведет себя странно, меняя HTML - PullRequest
0 голосов
/ 24 сентября 2011

Я хочу обработать шаблон с кнопкой Google plusone в phpQuery, и я столкнулся со следующей проблемой:

require_once( "phpQuery.php" );
$p = phpQuery( "<g:plusone></g:plusone>" );
echo $p->html();

ожидаемый результат будет:

<g:plusone></g:plusone>

Но вместо этого получается:

<plusone></plusone>

, что не совпадает с тем, что ожидает Google, поэтому кнопка больше не работает.Как я могу помешать phpQuery изменить (исправить?) Мой код или как обойти эту проблему, не меняя строку с plusone на g: plusone после завершения обработки?(это неприятный обходной путь, плюс я сталкиваюсь с большим количеством проблем с «переводом» в phpQuery).

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

У меня была такая же проблема при включении значка Google +.Я мог бы заставить генератор кода из Google генерировать код с контейнером div.Мне просто нужно было поставить галочку напротив «html5 valid code».

0 голосов
/ 10 июня 2013

Я искал решения этой проблемы, но безрезультатно. Я нашел ужасный обходной путь. Я уверен, что это НЕ самый элегантный способ сделать это, но по крайней мере это решает проблему.

Вместо тегов:

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

использование:

<g__0058__plusone>...</g__0058__plusone>

Затем просто str_replace результатов, прежде чем вы выводите:

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

В основном в теге, где вы обычно ставите двоеточие (:) вместо этого вы ставите 0058 . Пожалуйста, не отрицайте, это очень не элегантное решение, я понимаю это, но по крайней мере это обходной путь для этой старой проблемы.

...