Echo sorunun içinde Fonksiyon

5 Cevap php

Ben yanlış çıkış yankı deyimi ile hafif bir sorun var. Ben ne zaman forexample

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

Bu twitarea div fonksiyon çıkışını ama DIŞ görüntüler. Bu davranış belki de sözdizimi nedeni nedir?

şimdiden teşekkürler

Burada asıl işlevi

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 Cevap

Basitçe:

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

fetchtwitter ($ rss) çıkışı (bunu dönmez) yankılanır.

Bu size fetchtwitter değiştirmek gerekmez ().

fetchtwitter() muhtemelen echo() kendi yerine dize dönen yapar. Dize basılır önce echo, çıkış için bütün dize hazırlar iken işlevi çalıştırılır.

Fetchtwitter (...) yerine bunu dönen doğrudan tarayıcıya çıktı yazmak mı? Böyle bir şey deneyin:

<?php

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

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

?>

Eğer kaynağını değiştirebilirsiniz Ya fetchtwitter(), bu birleştirmek için almak ve yerine return dize echo bunu ing.

Eğer benim yorum görmedim.

Yerine orada var yankısı daha da fetchtwitter() işlevinde bir dönüş kullanmayı deneyin.

belki yardımcı olur sınırlayıcı deneyebilirsiniz

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

update You can modify your function like this too

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; 
}