1. Dashboard
  2. Artikel
  3. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. HTML - Webmaster Forum
  2. Programmierung - Entwickler Forum
  3. PHP Forum - Apache - CGI - Perl - JavaScript und Co.

URL auslesen

  • blub`
  • 6. Oktober 2005 um 11:52
  • blub`
    Schüler
    Beiträge
    86
    • 6. Oktober 2005 um 11:52
    • #1

    Huhu, mal wieder ich *gg*

    Also folgendermaßen, ich soll aus einer Url (die in ein normales Eingabefeld eingegeben wird / gepastet) dann bestimmte Werte auslesen. (Durch explode oder wie auch immer) Aber wie mach ich das?

    Ich weiss dass is bissl schwer zu verstehen darum ein Bsp.:

    Der User gibt diesen Link (http://www.escape-to-space.de/messages_beric…9dd1eaf906f6e75) in das Eingabefeld ein und drueckt den Submit Button. Nun soll alles mögliche von diesem Bericht ausgelesen werden. z.B.: Angreifer,Verteidiger,Flotte,Verteidigung,Datum,....

    Ich hoffe es is verständlich genug. Bitte um Hilfe :)

  • GreenRover
    Forum Guru
    Beiträge
    4.787
    • 6. Oktober 2005 um 12:07
    • #2

    hast du eine ahnung von regulären ausdrücken??? falls nicht guck dir dieses mal an.

    Oder frage die macher der seite doch einfach ob sie dir das auch als neutrale seite zur verfügung stellen können, das würde es einfachm achen, da du jetzt auf deren design angewiesen bist.

  • Beatz
    König(in)
    Beiträge
    1.454
    • 6. Oktober 2005 um 12:38
    • #3

    Handelt es sich immer um das Auslesen der Daten von dem gleichen Server? Dann wäre es doch evtl. sinnvoller / einfacher, wenn Du Kontakt zu denen aufnehmen würdest, sie Deinem Server Leserechte auf die Datenbank geben würden ... Wenn das nicht geht, kommst Du um das parsen nicht drum rum!

    Beatz
    my $favorite_homepage = array(
    "Multigaming Playhouse" => "http://www.playhouse-multigaming.de"
    );
    my $homepage = array(http://www.mohaa-wiki.de, http://www.berufe-portal.de, http://www.mywibb.de);

  • Gast
    • 6. Oktober 2005 um 16:39
    • #4

    ja das is mir schon klar, aber ich mein wie bekomm ich überhaupt den inhalt der seite in ein array?

  • GreenRover
    Forum Guru
    Beiträge
    4.787
    • 6. Oktober 2005 um 17:06
    • #5

    hast du meinen Post gelesen???

  • blub`
    Schüler
    Beiträge
    86
    • 6. Oktober 2005 um 17:20
    • #6

    ja aber bei regulären ausdrücken fallen mir nur funktionen wie preg_match, eregi, preg_match_all etc. ein aber wie kann ich überhaupt mal die ganze seite auslesen damit ihc dann parsen kann? evtl per fopen oder wie?

    und nein, die macher kann ich ned dazu überreden das zu ändern weil ich das ja ned nur bei diesem bericht auslesen will sondern bei allen...

  • Beatz
    König(in)
    Beiträge
    1.454
    • 6. Oktober 2005 um 18:36
    • #7

    Mit fopen, richtig
    [php:1:79e20d2779]<?php
    $filehandle = fopen ("http://www.deinedomain.de/index.html", "r");
    ?>[/php:1:79e20d2779]

    Beatz
    my $favorite_homepage = array(
    "Multigaming Playhouse" => "http://www.playhouse-multigaming.de"
    );
    my $homepage = array(http://www.mohaa-wiki.de, http://www.berufe-portal.de, http://www.mywibb.de);

  • GreenRover
    Forum Guru
    Beiträge
    4.787
    • 6. Oktober 2005 um 21:54
    • #8

    http://de.php.net/manual/de/function.file-get-contents.php
    dürfte da interessantersein

  • blub`
    Schüler
    Beiträge
    86
    • 6. Oktober 2005 um 22:37
    • #9

    Ja das einlesen in nen String war ja nun ned schwer mit den richtigen Funktionen aber wie ich nun daraus bestimmte Passagen mit Regulären Ausdrücken bekomme is schon sehr rätselhaft *gg*.

    Könnte mir jemand sagen wie ich z.B. diesen Teil: 12:07:03 05.10.2005 aus dem weiter oben gepasteten Bericht bekomme? Würde halt gern sehen wie so ein REGEX aussieht der so etwas auslesen kann. Bzw ob man das mit preg_match oder eregi oder wie auch immer macht :/ Hab irgendwie absolut keine Idee.

  • GreenRover
    Forum Guru
    Beiträge
    4.787
    • 6. Oktober 2005 um 22:44
    • #10

    guck dir einfach mal die GESAMTE beschreibung auf http://de.php.net für preg_match an, dort wirst du fündig.

  • blub`
    Schüler
    Beiträge
    86
    • 6. Oktober 2005 um 23:53
    • #11

    jawohl chef ^^

    aber nun folgendes problem:

    $string = file_get_contents($_POST['url']);

    preg_match("([0-9][0-9]:[0-9][0-9]:[0-9][0-9] [0-9][0-9].[0-9][0-9].[0-9]{4,4})", $string, $treffer);
    echo "{$treffer[0]}\n";
    ?>

    das gibt kein ergebnis zurück. aber wieso? wenn ich direkt in der variable "string" das datum vereinbare (also $string ="12:07:03 05.10.2005") dann gehts. jemand ne ahnung wieso?

  • Beatz
    König(in)
    Beiträge
    1.454
    • 6. Oktober 2005 um 23:55
    • #12

    Musst Du nicht die geschweiften Klammern weglassen?

    Beatz
    my $favorite_homepage = array(
    "Multigaming Playhouse" => "http://www.playhouse-multigaming.de"
    );
    my $homepage = array(http://www.mohaa-wiki.de, http://www.berufe-portal.de, http://www.mywibb.de);

  • blub`
    Schüler
    Beiträge
    86
    • 7. Oktober 2005 um 00:03
    • #13

    wenn du die geschweiften klammern beim echo meinst, macht das absolut kein unterschied *g*

  • GreenRover
    Forum Guru
    Beiträge
    4.787
    • 7. Oktober 2005 um 09:47
    • #14

    ich kann idr mom leider nichts schriebn, da ich seit gestern aussehe wie eien mumie.

    Aber hier ein älteters beispiel von mir:

    Code
    unset($arrayoflinks);
    
    
     preg_match_all("/Leistung in PS:<\/td><td bgcolor=\"#ffffff\" ><font face=\"Arial, Verdana, Helvetica\" size=\"2\">[b]\d{2,3} <\/b><\/td>/", $ausgabe, $arrayoflinks);
     
     foreach($arrayoflinks[0] as $l)
     {
      $l = str_replace("Leistung in PS:</td><td bgcolor=\"#ffffff\" ><font face=\"Arial, Verdana, Helvetica\" size=\"2\">[b]", "", $l);
      $l = str_replace(" [/b]</td>", "", $l);
      $data[ps] = $l;
     }
    Alles anzeigen

    es ist zwar langsam und auf keines falls perfect, aber funktioniert

    aber versuche es auch mal so:

    Code
    unset($arrayoflinks);
    preg_match_all("/Leistung in PS:<\/td><td bgcolor=\"#ffffff\" ><font face=\"Arial, Verdana, Helvetica\" size=\"2\">[b]\d{2,3} <\/b><\/td>/", $ausgabe, $arrayoflinks);
    echo $arrayoflinks[1][1];
  • Modula
    Kaiserliche Hoheit
    Beiträge
    1.515
    • 7. Oktober 2005 um 16:49
    • #15

    ... jetzt noch green_rovers vorschlag mit normalen klammern () optimiert und du braucht das ergebnis nich nochmal durchackern :)

    Zoggerforum.de Betreuer * Mod @ ibforen.de * Admin @ daoc-ds.de
    ICQ Nummer kann via PN erfragt werden

Tags

  • www
  • html
  • server
  • http
  • design
  • post
  • akt
  • kontakt
  • code
  • php
  • daten
  • array
  • inhalt
  • ts
  • index
  • index.html
  • datenbank
  • font
  • bank
  • ausgabe
  • variable
  • parse
  • leserechte
  • parsen
  1. Datenschutzerklärung
  2. Impressum
Community-Software: WoltLab Suite™