我错误地输出了一个echo语句。例如,当我做
时echo "<div id=\"twitarea\">" . fetchtwitter($rss) . "</div>";
它显示功能输出但是twitarea div的OUTSIDE。这种行为的原因可能是语法?
提前致谢
这是实际的功能
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>";
} }
答案 0 :(得分:3)
简单地说:
<?php
echo "<div id=\"twitarea\">";
fetchtwitter($rss);
echo "</div>";
?>
fetchtwitter($ rss)正在回显输出(它不返回它)。
这样你就不必修改fetchtwitter()。
答案 1 :(得分:1)
fetchtwitter()
可能会自己执行echo()
,而不是返回字符串。在打印字符串之前,echo
准备整个字符串以进行输出时执行该函数。
答案 2 :(得分:1)
fetchtwitter(...)是否将输出直接写入浏览器而不是返回?尝试类似:
<?php
ob_start();
fetchtwitter($rss);
$twitter = ob_get_clean();
echo "<div id=\"twitarea\">" . $twitter . "</div>";
?>
或者,如果您可以修改fetchtwitter()
的来源,请将其连接到return
字符串而不是echo
。
答案 3 :(得分:0)
你可以尝试分隔符,也许它有帮助
$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;
}
答案 4 :(得分:0)
如果您没有看到我的评论。
尝试在fetchtwitter()
函数中使用return,而不是在那里使用echo。