• ich würde gerne eine webseite mit php auf text zwischen zwei bestimmten tags auslesen. habe bereits eine function die mir den gesamten quelltext in einen string einliest - readsite(url) - habe probiert dann mit explode die tags zu trennen, habe aber mit den arrays immer nur fehlermeldungen erhalten! kann mir jemand vielleicht verraten wie das gscheit funktioniert?

  • Nicht alle HTML-Tags müssen geschlossen werden, zB img oder option.
    Ansonsten benutz doch das hier:

    diebstahl.php

  • hi,

    du kannst die seite auch mit der DOM Extension von php (bei php5 standardmäßig dabei) einlesen und per XSLT daten herausfiltern und ein neues XML-Dokument erstellen - vorrausgesetzt die einzulesende seite ist ein valides XML Dokument. das ganze ist zwar etwas mehr aufwand, dafür hast du mit XSL ein sehr mächtiges werkzeug mit dem du die ganze seite in ihre einzelteile zerlegen kannst.

    dazu musst du vortäuschen ein browser zu sein:

    PHP
    ini_set("user_agent","Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6");

    dann holst du dir das XML (also die HTML-seite):

    PHP
    $xmlDom = new DOMDocument;
    $xmlDom->load("http://valide.xml.seite.at");

    jetzt erstellen wir einen filter mit XSL:

    danach müssen wir noch den filter anwenden:

    PHP
    $proc = new XSLTProcessor;
    $proc->importStylesheet($xslDom);
    $result = $proc->transformToXML($xmlDom);
    echo $result;

    eine simplere lösung wäre die seite per SimpleXML zu laden:

    PHP
    include("Var_Dump.php");
    $bla = simplexml_load_file("http://valide.xml.seite.at");
    Var_Dump::display($bla);

    http://www.bash.org/?104052
     <NES> I download something from Napster
     <NES> And the same guy I downloaded it from starts downloading it from me when I´m done
     <NES> I message him and say "What are you doing? I just got that from you"
     <NES> "getting my song back fucker"


  • Nicht alle HTML-Tags müssen geschlossen werden, zB img oder option.
    Ansonsten benutz doch das hier:

    diebstahl.php


    danke funktioniert super. wo find ich info über diese zeichen /< (.*) etc.?

    Zitat von cherrybonbon

    vorrausgesetzt die einzulesende seite ist ein valides XML Dokument

    Nein, es handelt sich um eine html seite mit links zu audio bzw video dateien

    Einmal editiert, zuletzt von hucskfjs (18. August 2009 um 09:35)

  • danke funktioniert super. wo find ich info über diese zeichen /< (.*) etc.?

    Auf php.net findest du zu allen in PHP integrierten Funktionen recht gute Dokumentation.

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!