[PHP] hilfe bei seitenauslesung

Dieses Thema im Forum "Webentwicklung" wurde erstellt von S3r9i0, 9. Juli 2008 .

Schlagworte:
  1. 9. Juli 2008
    hilfe bei seitenauslesung

    Hallo,
    ich habe volgendes problem. Ich möchte eine fremde seite z.b forum nach ihren links auslesen. Habe mir dafür folgendes zusammengebaut was auch funktioniert.

    Code:
    <?php
    $host = "http://www.chiliforum.net/chiliforum/viewforum.php?f=10";
    $filestring = file_get_contents($host);
    $startpos = 0;
    while($pos = strpos($filestring, "<a href", $startpos))
    {
     $string = substr($filestring, $pos, strpos($filestring, "</a>", $pos + 1) - $pos);
     echo $string."</br>";
     $startpos = $pos + 1;
    }
    ?>
    Wenn ich diese Seite nun aufrufe bekomme ich alle beiträge aufgelistet die es auf dieser seite gibt (als link).
    So das eigentliche problem was ich habe ist das die links nicht auf die ursprüngliche website verweisen sondern davor meine seite steht.
    Beispiel
    Der Link der auf der meiner seite steht:
    http://meineseite /chiliforum/viewtopic.php?t=8502

    So möchte ich es haben das es wieder zur ursprünglichen seite verweißt
    http://www.chiliforum.net/chiliforum/viewtopic.php?t=8502

    Was muss ich an dem script noch verändern damit die wirklichen links angezeigt werden und nicht die die meine seite beinhalten.

    Mfg
    s3r9i0


    Eledigt
     
  2. 9. Juli 2008
    AW: hilfe bei seitenauslesung

    ganz einfach: die links werden anscheinend relativ zur aktuellen position angegeben. somit musst du halt noch die ausgelesenen strings verändern und bei jedem eben Startseite - Capsamania (AN DIE RICHTIGE STELLE) einfügen
     
  3. 9. Juli 2008
    AW: hilfe bei seitenauslesung

    anstatt
    PHP:
    echo  $string . "</br>" ;
    einfach

    PHP:
    echo  "http://www.chiliforum.net $string </br>" ;
     
  4. 9. Juli 2008
    AW: hilfe bei seitenauslesung

    Das funktioniert leider nicht. Es wird nun der Titel des herausgelesenden mit dem link verändert. der link ansich bleibt so wie er vohrer auch war

    Timer vielleicht könntest du ja mal hier deine methode posten
     
  5. 9. Juli 2008
    AW: hilfe bei seitenauslesung

    hiho, lass doch schnell nen regex drüberlaufen

    PHP:
    <? php
        $site 
    'http://google.de' ;
        
    $q  file_get_contents ( $site );
        
    $mlinks  = array();
        
    preg_match_all ( '~\<a.*href="(.*)".*\>(.*)\</a\>~Usi' $q $mlinks );
        if(!
    $mlinks [ 1 ]) exit( 'keine links vorhanden' );
        
        
    $links  = array();
        for(
    $i  0 $to  count ( $mlinks [ 1 ]);  $i  $to $i ++) {
            
    $href  $mlinks [ 1 ][ $i ];
            if(@!
    parse_url ( $href PHP_URL_HOST ))  $href  $site  $href ;
            
    $links [] = array( 'href'  =>  $href 'title'  =>  $mlinks [ 2 ][ $i ]);
        }
        
        unset(
    $mlinks );
        
    print_r ( $links );
    ?> 
    @Yuri, schau nochmal genauer
     
  6. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.