1

私はコーディングにかなり慣れていないので、自分のウェブサイト用の Twitter アプリを試してみたいと思っていました。次のコードが機能するようになりましたが、それを行うためのより良い方法があることは知っています...方法がわかりません(データを配列に出力してから、 foreach ステートメントを使用してテーブルに出力する可能性があります)。誰かが私を正しい方向に向けることができれば、本当に感謝しています。基本的に、私がやろうとしているのは、XML を解析し、手動で行うのではなく、自動的に呼び出し/出力できる変数を作成することです (現在行っている方法です)。

ありがとう!

<!DOCTYPE html>
<html lang="en">
<head>
<link rel="stylesheet" type="text/css" href="bootstrap.css" />
<title> Some Title </title>
</head>
<body>
<div class="container">
    <div class="row-fluid">
    <div class="span2">
        <!--Sidebar content-->
        <button>Carmelo Anthony</button>
    </div>
    <div class="span10">
        <!--Body content-->
        <?php
        $xmldata = 'https://twitter.com/statuses/user_timeline/carmeloanthony.xml';
        $open = fopen($xmldata, 'r');
        $content = stream_get_contents($open);
        fclose($open);
        $xml = new SimpleXMLElement($content);
        ?>
            <table class="table table-striped">
                <tr>
                    <td> <img src=" <? echo $xml->status[0]->user->profile_image_url; ?>"/> </td>
                    <td><strong> <? echo $xml->status[0]->user->name; ?></strong> <i>@<? echo $xml->status[0]->user->screen_name; ?></i> <br /> <? echo $xml->status[0]->text; ?></td>  
                    <td><? echo date("M j",strtotime($xml->status[0]->created_at)); ?></td>
                </tr>
                <tr>
                    <td> <img src=" <? echo $xml->status[1]->user->profile_image_url; ?>"/> </td> 
                    <td><strong> <? echo $xml->status[1]->user->name; ?></strong> <i>@<? echo $xml->status[1]->user->screen_name; ?></i> <br />  <? echo $xml->status[1]->text; ?></td>
                    <td><? echo date("M j",strtotime($xml->status[1]->created_at)); ?></td>
                </tr>
                <tr>
                    <td> <img src=" <? echo $xml->status[2]->user->profile_image_url; ?>"/> </td> 
                    <td><strong> <? echo $xml->status[2]->user->name; ?></strong> <i>@<? echo $xml->status[2]->user->screen_name; ?></i> <br />  <? echo $xml->status[2]->text; ?></td>
                    <td><? echo date("M j",strtotime($xml->status[2]->created_at)); ?></td>
                </tr>
                <tr>
                    <td> <img src=" <? echo $xml->status[3]->user->profile_image_url; ?>"/> </td> 
                    <td><strong> <? echo $xml->status[3]->user->name; ?></strong> <i>@<? echo $xml->status[3]->user->screen_name; ?></i> <br />  <? echo $xml->status[3]->text; ?></td>
                    <td><? echo date("M j",strtotime($xml->status[3]->created_at)); ?></td>
                </tr>
                <tr>
                    <td> <img src=" <? echo $xml->status[4]->user->profile_image_url; ?>"/> </td> 
                    <td><strong> <? echo $xml->status[4]->user->name; ?></strong> <i>@<? echo $xml->status[4]->user->screen_name; ?></i> <br />  <? echo $xml->status[4]->text; ?></td>
                    <td><? echo date("M j",strtotime($xml->status[4]->created_at)); ?></td>
                </tr>
            </table>
    </div>
</div>
</body>
</html>
4

1 に答える 1

1

これには foreach ループを使用できます。

    <!-- ...html code... -->
    <?php
    $xmldata = 'https://twitter.com/statuses/user_timeline/carmeloanthony.xml';
    $open = fopen($xmldata, 'r');
    $content = stream_get_contents($open);
    fclose($open);
    $xml = new SimpleXMLElement($content);
    ?>
        <table class="table table-striped">
            <?php
            foreach($xml->status as $status)
            { ?>
            <tr>
                <td> <img src=" <?php echo $status->user->profile_image_url; ?>" /> </td>
                <td><strong> <?php echo $status->user->name; ?></strong> <i>@<?php echo $status->user->screen_name; ?></i> <br /> <?php echo $status->text; ?></td>  
                <td><?php echo date("M j",strtotime($status->created_at)); ?></td>
            </tr>
              <?php
            }
            ?>
        </table>
        <!-- rest of the code... -->

参考: http: //php.net/manual/en/control-structures.foreach.php

編集

奇妙な文字の問題については、次を使用して文字列をデコードしてみてください: html_entity_decode

于 2012-07-28T05:41:18.403 に答える