2012-03-07 6 views
-1

JavaScriptタグから引用されたext PHPファイルを使用して、自分のサイトのヘッダーにつぶやくときに問題があります。最後の行としての出力はエコーを含むjavascriptです。 latest_tweet以来ext JavaScriptファイルからPHPを参照する

<?php 
Header("content-type: application/x-javascript"); 
//Get Latest Tweet 
function latest_tweet($username,$tweetnumber){ 
    $url = "http://search.twitter.com/search.atom?q=from:$username&amp;rpp=10"; 
    $xml = simplexml_load_file($url); 
    $tweettitle = $xml->entry[$tweetnumber]->title; 
    $mytweet = $xml->entry[$tweetnumber]->content; 
    $firstChar = substr($tweettitle, 0, 1); 
    //Exclude @ replies 
    if($firstChar == "@"){ 
     //If this tweet is an @ reply move on to the previous one 
     while ($firstChar == "@"){ 
     $tweetnumber++; 
     $tweettitle = $xml->entry[$tweetnumber]->title; 
     $mytweet = $xml->entry[$tweetnumber]->content; 
     $firstChar = substr($tweettitle, 0, 1); 
     if($firstChar != "@"){ 
      //If the previous tweet is not an @ reply output it 
      return $mytweet; 
     } 
     } 
    } else { 
     //If first tweet is not an @ reply output it 
     return $mytweet; 
    } 
} 
//End Get Latest Tweet 

//output 
echo "document.write(latest_tweet('mikedeveloper', 0))"; 
?> 
+2

'latest_tweet'はJavaScript関数ではなく、PHP関数です。 JavaScriptからこのようにPHP関数を呼び出すことはできません。なぜPHPでコンテンツを出力しないのですか? 'echo latest_tweet( 'mikedeveloper'、0);'。 –

+0

私はJavaScriptとPHPをマークアップとは別にしておきたいと思っていました。 –

+2

しかし、 'document.write(...)'は不要なようです...まあ、このファイルをどのようにインクルードするかによって異なります。 'document.write'は、ドキュメントがロードされた後に呼び出された場合、現在のドキュメントを上書きします。 –

答えて

1

は、PHPの関数である、あなたはPHPからそれを呼び出す必要がありますが、あなたには、JavaScriptから呼び出すためにしようとしています。これを試してください:

echo "document.write('" . latest_tweet('mikedeveloper', 0) . "')"; 
+0

ああありがとうございました!先週PHPで始まったばかりですが、大きな助けになりました。 –

+1

@Felix Klinkさんがあなたの質問に追加したコメントも考慮してください。 '

関連する問題