2011-07-23 3 views
0

В localhost (с использованием Wamp on windows). Я пытаюсь использовать это:Почему этот PHP-фрагмент не работает?

<? 
$xml = simplexml_load_file(‘http://stocklamp.tumblr.com/api/read/xml’); 
$posts = $xml->xpath(“/tumblr/posts/post[@type=’regular’]”); 
foreach($posts as $post) {?> 
<?echo $post[‘id’];?> 
<?echo $post[‘url-with-slug’];?>”> 
<?echo $post->{‘regular-title’};?> 
<?echo $post->{‘regular-body’};?> 
<?echo date(“jS D M, H:i”,strtotime($post[‘date’]));?> 
<?}?> 

При попытке, я вижу это на моем сайте:

xpath(“/tumblr/posts/post[@type=’regular’]”); foreach($posts as $post) { ?> ”> {‘regular-title’};?> {‘regular-body’};?> 

Я нашел фрагмент кода здесь:

http://stocklamp.tumblr.com/post/274675902/putting-your-tumblr-posts-on-your-websites-the-easy-way

Изменить: исправлено. Теперь я получаю

Parse error: syntax error, unexpected ':' in C:\wamp\www..\index.php on line 52

и эта линия:

$xml = simplexml_load_file(‘http://stocklamp.tumblr.com/api/read/xml’);

Я получаю эту ошибку: http://codepad.org/7f1IejIG

Хорошо. Теперь я исправляюсь, но как получить сообщения по тегу?

изменение «type = ...» не работает.

$posts = $xml->xpath("/tumblr/posts/post[@type='file']"); 
+2

Поддерживает ли ваш сервер [PHP короткие теги] (HTTP: //php.net/manual/en/ini.core.php)? Или у вас есть реальная поддержка PHP? –

+0

Это происходит на локальном хосте. – kdevs3

+0

См.: Http://codepad.org/fum4lWon. Если это было проанализировано PHP, это вызовет ошибку. Вы видите ошибку? Если нет, ваша страница не обрабатывается PHP (и см. Ответ Циклона). –

ответ

0

Последняя проблема заключается в том, что URL-адрес API XML, предоставленный в блоге, неверен. Следующие работы:

<?php 
$xml = simplexml_load_file('http://stocklamp.tumblr.com/api/read/'); // No /xml 
$posts = $xml->xpath('/tumblr/posts/post[@type="regular"]'); 
foreach($posts as $post) {?> 
<?echo $post['id'];?> 
<?echo $post['url-with-slug'];?>”> 
<?echo $post->{'regular-title'};?> 
<?echo $post->{'regular-body'};?> 
<?echo date("jS D M, H:i",strtotime($post['date']));?> 
<?}?> 

http://jfcoder.com/test/tumblrtest.php

EDIT

Попробуйте запустить этот код без тегов вперемешку:

<?php 
$xml = simplexml_load_file('http://stocklamp.tumblr.com/api/read/'); // No /xml 
$posts = $xml->xpath('/tumblr/posts/post[@type="regular"]'); 
foreach($posts as $post) { 
    echo $post['id']; 
    echo $post['url-with-slug']; 
    echo $post->{'regular-title'}; 
    echo $post->{'regular-body'}; 
    echo date("jS D M, H:i",strtotime($post['date'])); 
} 
?> 
+0

damnit его не работает. здесь http://pastie.org/2257287 – kdevs3

+0

Это копия/вставка вашей разметки/кода: http://jfcoder.com/test/tumblrtest.php –

+0

Я продолжаю получать ошибку Parse: синтаксическая ошибка, неожиданный $ end in C: \ wamp \ www \ jessblum-proj \ index.php в строке 62 – kdevs3

3

Ваша страница не работает как PHP. Если вы просматриваете исходный код, вы увидите весь код PHP, видимый на вашей странице, как обычный HTML.

Бит, который отображается после бита $ xml->, потому что он считает, что открывающий тег php и -> - один большой тег html.

Является ли расширение файла .php? Что такое имя файла? Где вы поместили этот код? Попробуйте заменить <? на <?php, иногда веб-серверы не поддерживают короткие теги.

+1

Кроме того, он использует короткие теги – Colum

+0

@Colum Добавлено, что – Cyclone

+0

расширение. ха-ха-вау. чувствую soo немой. теперь у меня другая проблема. – kdevs3

2

Вы используете фигурные кавычки. Попробуйте следующее:

<? 
    $xml = simplexml_load_file('http://stocklamp.tumblr.com/api/read'); 
    $posts = $xml->xpath("/tumblr/posts/post[@type='regular']"); 
    foreach($posts as $post) { 
    echo $post['id']; 
    echo $post['url-with-slug']; 
    echo $post->{'regular-title'}; 
    echo $post->{'regular-body'}; 
    echo date("jS D M, H:i",strtotime($post['date'])); 
    } 
?> 
+0

Кудрявые цитаты или нет, PHP-код будет вызывать синтаксическую ошибку. Этот PHP просто не выполняется – Cyclone

+0

Он бы выбросил ошибку синтаксического анализа: http://codepad.org/fum4lWon –

+0

Вы скопировали фигурные кавычки :) http://codepad.org/NfjO7wYU - Ошибка в кодедепе потому что у них, вероятно, есть simplexml_load_file, заблокированный по соображениям безопасности. – AlienWebguy

Смежные вопросы