Функция в пределах проблемы эха - PullRequest
0 голосов
/ 18 марта 2010

У меня небольшая проблема с неправильным выводом оператора echo. Например, когда я делаю

echo "<div id=\"twitarea\">" . fetchtwitter($rss) . "</div>";

отображает выходные данные функции, но ВНЕ РАЗДЕЛА. В чем причина этого поведения, возможно, синтаксис?

спасибо заранее

Вот актуальная функция

require_once('includes/magpie/rss_fetch.inc');
$rssaldelo = fetch_rss('http://twitter.com/statuses/user_timeline/12341234.rss');
function fetchtwitter($rsskey){
foreach ($rsskey->items as $item) {
    $href = $item['link'];
    $title = $item['title'];
    print "<li class=\"softtwit\"><a href=" . $href . "    target=\"_blank\">$title</a></li><br>";
    } }

Ответы [ 5 ]

3 голосов
/ 18 марта 2010

Просто:

<?php
echo "<div id=\"twitarea\">";
fetchtwitter($rss);
echo "</div>";
?>

fetchtwitter ($ rss) отображает вывод (он не возвращает его).

При этом вам не нужно изменять fetchtwitter ().

1 голос
/ 18 марта 2010

Записывает ли fetchtwitter (...) вывод непосредственно в браузер, а не возвращает его? Попробуйте что-то вроде:

<?php

ob_start();
fetchtwitter($rss);
$twitter = ob_get_clean();

echo "<div id=\"twitarea\">" . $twitter . "</div>";

?>

Или, если вы можете изменить источник fetchtwitter(), получите его для объединения и return строку вместо echo ее использования.

1 голос
/ 18 марта 2010

fetchtwitter(), вероятно, вместо * возвращает строку echo(). Функция выполняется, пока echo подготавливает всю строку для вывода, прежде чем строка будет напечатана.

0 голосов
/ 18 марта 2010

В случае, если вы не видели мой комментарий.

Попробуйте использовать возврат в вашей функции fetchtwitter(), а не эхо, которое у вас там есть.

0 голосов
/ 18 марта 2010

вы можете попробовать разделители, может быть, это поможет

$twitter = fetchtwitter($rss);
ob_start();
echo <<<HTML;
<div id="twitarea">$twitter</div>
HTML;
echo ob_get_clean();

обновление Вы можете также изменить свою функцию

require_once('includes/magpie/rss_fetch.inc');
$rssaldelo = fetch_rss('http://twitter.com/statuses/user_timeline/12341234.rss');
function fetchtwitter($rsskey){ 
  $bfr =""; 
  foreach ($rsskey->items as $item){
    $href = $item['link'];
    $title = $item['title'];
    $bfr .= "<li class=\"softtwit\"><a href=" . $href . "> target=\"_blank\">$title</a></li><br>";
  } 
  return $bfr; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...