
 Сообщение от 
avt
					
				 
				В принципе, дело хорошее, но есть проблема.
Если на странице больше одной ссылке, в xml отдается только по одной.
			
		 
	 
 у меня отдается столько сколько есть!!! вот я написал даже небольшую утилитку, может кому пригодится: http://tradskin.ru/linkfeed/
	PHP код:
	
<?php
function get_url_file( $url, $host )
{
    @$so = fsockopen($host, 80, &$errno, &$errstr, 5); 
    fputs($so,"GET $url HTTP/1.0\nHOST: $host\n\n"); 
    while(fgets($so,2048)!="\r\n" && !feof($so)); 
    unset($buf); 
    while(!feof($so)) $buf.=fread($so,2048); 
    fclose($so); 
    return $buf;
}
function xml_to_array( $file )
{
    $parser = xml_parser_create();
    xml_parser_set_option( $parser, XML_OPTION_CASE_FOLDING, 0 );
    xml_parser_set_option( $parser, XML_OPTION_SKIP_WHITE, 1 );
    xml_parse_into_struct( $parser, $file, $tags );
    xml_parser_free( $parser );
    
    $elements = array();
    $stack = array();
    foreach ( $tags as $tag )
    {
        $index = count( $elements );
        if ( $tag['type'] == "complete" || $tag['type'] == "open" )
        {
            $elements[$index] = array();
            $elements[$index]['name'] = $tag['tag'];
            $elements[$index]['attributes'] = $tag['attributes'];
            $elements[$index]['content'] = $tag['value'];
            
            if ( $tag['type'] == "open" )
            {    # push
                $elements[$index]['children'] = array();
                $stack[count($stack)] = &$elements;
                $elements = &$elements[$index]['children'];
            }
        }
        
        if ( $tag['type'] == "close" )
        {    # pop
            $elements = &$stack[count($stack) - 1];
            unset($stack[count($stack) - 1]);
        }
    }
    return $elements[0];
}
?>
<html><body>
<?php
    if(!isset($_GET['site']) || !isset($_GET['user']))
    {
?>
    <center>
    <h2>Анализатор для биржы LinkFeed</h2>
    <FORM ACTION="index.php" METHOD="GET">
    <table align="center" border="0">
        <tr>
            <td><b>Ваш сайт:</b>  </td>
            <td><INPUT TYPE="text" name="site" SIZE="30" MAXLENGTH="60"></td>
        </tr>
        <tr>
            <td><b>Идентификатор:</b>  </td>
            <td><INPUT TYPE="text" name="user" SIZE="30" MAXLENGTH="60"></td>
        </tr>
        <tr>
            <td colspan="2" align="left"><INPUT TYPE="submit" VALUE="Go!"></td>
        </tr>
    </table>
    </FORM>
    </center>
<?php
    }
    else
    {
?>
<!--<pre>-->
<?php 
        $site = $_GET['site'];
        $linkfeed_user = $_GET['user'];
        
        $host = 'db.linkfeed.ru';
        //$url = "/server/?user=$linkfeed_user&host=$site&charset=utf-8&uri=".$_SERVER['REQUEST_URI'];  
        $url = "http://db.linkfeed.ru/$linkfeed_user/$site/UTF-8.xml";  
    
        $arr = xml_to_array( get_url_file( $url, $host ) );
        $pages = $arr[children][2][children];
        $links = array();
        foreach ($pages as $value) {
            $link = array();
            foreach ($value[children] as $data) {
                if($data[name] == level) continue;
                $link[] = $data[content];
            }
            $links[$value[attributes][url]] = $link;
        }
        //print_r($links);
        echo "<b>$url:</b><br/>";
        echo '<table border = "1">';
        $i = 0;
        $links_url = "http://".$host."/server/?user=$linkfeed_user&host=$site&charset=utf-8&uri=";  
        foreach ($links as $key => $value) {
            $i++;
            echo "<tr><td>$i</td><td>$key</td><td>\n";
            foreach ($value as $data) {
                echo "$data • \n";
            }
            echo "</td><td>\n";
            echo '<IFRAME WIDTH="500" HEIGHT="40" ALIGN="MIDDLE" SRC="'.$links_url.$key.'" SCROLLING="auto">Error!</IFRAME>';
            echo "<td></tr>\n";
        }
        
        echo '</table>';
?>
<!--</pre>-->
<?php
    }
?>
</body></html>