0

私はxml(ウェブサイト)をphp配列に処理しようとしています。

結果のすべてで機能する次のコードを試しましたが、これを行う方法を確認できない合計ページを取得する必要があります。

function get_content($url) 
    /// basically opens the page and stores it as a variable. Buggered if I know how it works! 
    {   
        $ch = curl_init();  
        curl_setopt ($ch, CURLOPT_URL, $url);
        curl_setopt ($ch, CURLOPT_HEADER, 0);
        ob_start();
        curl_exec ($ch);
        curl_close ($ch);
        $string = ob_get_contents();
        ob_end_clean();
        return $string;
        $string = NULL;
        $ch = NULL;
        $url = NULL;
    }
$url = "url";
$content = get_content($url);
$content_x = explode("<result>", $content);

foreach ($content_x as $item)
    {
        $p1 = strpos($item, '<title>');
        $p2 = strpos($item, '</title>');
        $l1 = $p2 - $p1;
        echo '<br>'.$title = substr($item, $p1, $l1);
    }

xml サイト フィード

<?xml version="1.0" encoding="UTF-8"?>
<response version="2">

    <totalpage>1005</totalpage>

    <results> 
        <result>
            <title>test</title>
            <title2>test2</title2>
            <title3>test3</title3>
        <result>
                <result>
            <title>test</title>
            <title2>test2</title2>
            <title3>test3</title3>
        <result>
                <result>
            <title>test</title>
            <title2>test2</title2>
            <title3>test3</title3>
        <result>
                ........so on

    <results>

</response>

結果でtotalpageと everytingを取得する必要があります

totalpageを取得する方法と、結果を処理するためのより良い方法はありますか

4

1 に答える 1

0

XML を解析するために文字列操作を使用するべきではありません。これを実行できる PHP ライブラリはいくつもあります。SimpleXML をお勧めします。

使用法は次のとおりです。

$xml = simplexml_load_string($content);
$totalpage = $xml->response->totalpage;
于 2013-01-11T22:40:31.670 に答える