Добавление всемогущего тега CDATA к некоторому jQuery с PHP - PullRequest
1 голос
/ 09 июля 2011

в нижней части этого вопроса приведен код, который выводится в плагине Wordpress на основе PHP.Мне нужно найти способ убедиться, что этот javascript обернут в CDATA, потому что он мешает генератору RSS-каналов.Буду признателен за любую помощь, я пробовал несколько способов, и это не совсем правильно работает.Все отлично работает с плагином, за исключением проблемы с RSS-каналом: / Спасибо !!

        echo '<div id="flickr-images">';    

                 echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>';
                 echo '<script type="text/javascript">';

                 echo   ' $(document).ready(function() {'; 
                 echo '$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?id=' .$userid. '&format=json&jsoncallback=?", function(data) {';
                 echo '    var target = "#flickr-images";'; 
                 echo '      for (i = 1 ; i <=' .$numpics .'; i = i + 1) {';  
                 echo '                 var pic = data.items[i];';
                 echo '                 var liNumber = i + 1;'; ?> 
                                $(target).append("<li class='hi-flickr-image hif-no-" + liNumber + "'><a title='" + pic.title + "' href='" + pic.link + "'><img src='" + pic.media.m + "' /></a></li>");
                            }
                           });
                        });

                 </script>


         <?php  echo '</div>';

Ответы [ 2 ]

1 голос
/ 09 июля 2011

Либо я не понимаю вопроса, либо это то, что вы пытаетесь сделать:

echo '<![CDATA[';

// all the javascript echoed here

echo ']]>';

РЕДАКТИРОВАТЬ

Я предполагаю, что выв коде выше отсутствуют некоторые эхо-операторы?Некоторые одиночные кавычки в частях jquery также выглядели так, как будто они его отбрасывали.Этот php не выполнялся, не так ли?В любом случае, посмотрите, работает ли это, но я, возможно, где-то пропустил несколько цитат ...

echo '<div id="flickr-images">';    

echo '<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js" type="text/javascript"></script>';
echo '<script type="text/javascript">';

echo '<![CDATA[';

echo ' $(document).ready(function() {'; 
echo '$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?id=' .$userid. '&format=json&jsoncallback=?", function(data) {';
echo '    var target = "#flickr-images";'; 
echo '      for (i = 1 ; i <=' .$numpics .'; i = i + 1) {';  
echo '                 var pic = data.items[i];';
echo '                 var liNumber = i + 1;'; ?> 
echo '                 $(target).append("<li class=\'hi-flickr-image hif-no-" + liNumber + "\'><a title=\'" + pic.title + "\' href=\'" + pic.link + "\'><img src=\'" + pic.media.m + "\' /></a></li>")';
echo '       }';
echo '       });';
echo '    });';

echo ']]>';

echo '</script>';


echo '</div>';
0 голосов
/ 09 июля 2011

спасибо за помощь. Я понял.

CDATA, который я первоначально повторил, как вы, ребята, предположили, был зарегистрирован в порядке.

Но в нижней части PHP-файла плагина у меня было несколько пробелов после закрытия ?> и , что вызывало ошибки RSS.

Извините за путаницу.

...