HTML grabbing

Diskutiere mit über: HTML grabbing im Web-Programmierung Forum

  1. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.560
    Zustimmungen:
    28
    Registriert seit:
    12.10.2003
    Hallo Leute!

    Ich möchte gerne für meine Page einen HTML grabber basteln.
    Folgendes Szenario:

    Meine seite soll in einem formular einen Wert von einer externen seite beziehen. Auf der externen Seite ist der Wert ebenfalls in einem Formularfeld.

    Nun ich habe das jetzt mal so gemacht:
    PHP:
    $datei $url;
    $da_id file_get_contents($datei);                          
                                                                 
    $search '<input type="text" name="c_top" value="';        
    nun soll das script die variable $da_id nach dem $search durchsuchen und mir den Wert nach dem = nach Value zurückgeben.
    Wie geht das?

    Frohe Festtage
     
  2. oglimmer

    oglimmer MacUser Mitglied

    Beiträge:
    1.124
    Zustimmungen:
    78
    Registriert seit:
    16.11.2004
    Die Datei mit
    fopen ($url, "r") öffnen und wie eine Datei auslesen. (Beachte den Hinweis zu allow_url_fopen).

    Dann hat man die Seite als String und kann sie ganz normal durchsuchen (zb. mit ein paar strpos(...) Opertionen).
     
  3. michanismus

    michanismus MacUser Mitglied

    Beiträge:
    434
    Zustimmungen:
    0
    Registriert seit:
    23.08.2004
    ich würde dir dringends empfehlen dich mit regulären ausdrücken zu beschäftige!

    preg_find
    preg_find_all
    preg_replace
    etc...

    eine gute anleitung findest du hier: http://www.devmag.net/webprog/regulaere_ausdruecke.htm

    falls du fragen hast, frag :)
    aber versuch dich erstmal selbst durchzukämpfen, und nicht aufgeben, dass ganze ist am anfang etwas schwer zu verstehen.

    regex sind sehr mächtig...
     
  4. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.560
    Zustimmungen:
    28
    Registriert seit:
    12.10.2003
    Danke für eure Antworten.
    Ich habe mir mal beides angeschaut. Das mit den regulären ausdrücken klingt gut. Ist aber auch ein Bisschen kompliziert.
    Es müsste ja quasi
    <input type="text" name="c_top" value="1234" /> durch 1234 ersetzen. Nun kann mir jemand dazu ein Beispiel geben? Ich schnalle das noch nicht so ganz.

    PHP:
    //Meins sieht etwa so aus. Aber ich denke nicht dass es funktioniert. Werde es mal testen.
    $str 'Ein HTML Quellcode'
    $str preg_replace("!<input type="text" name="c_top" value="(.*)\" />!",und jetzt?,$str);
    Nun was kommt jetzt bei "und jetzt?" im string rein? Stimmt das so?
     
    Zuletzt bearbeitet: 17.12.2004
  5. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.560
    Zustimmungen:
    28
    Registriert seit:
    12.10.2003
    Ich brauche einfach nur den inhalt von Value in diesem Feld in einer Variable. Den Rest (restliches HTML) rund herum brauche ich nicht.
     
  6. michanismus

    michanismus MacUser Mitglied

    Beiträge:
    434
    Zustimmungen:
    0
    Registriert seit:
    23.08.2004
    hi!

    ich hab mal ebend nen regulären ausdruck gebaut.

    sorry, war eben schnell nebenbei. falls jemand fehler findet bitte drauf hinweisen und berichtigen :)

    Code:
    <?
    
    $subject='
    	<html>
    	<head></head>
    
    	<body>
    	<p> hier ein wenig inhalt...</p>
    	<form>
    		<input type="text" name="c_top" value="autos">
    		<input type="img" name="d_top" value="flugzeug">
    		<input type="text" name="x_top" value="macuser.de">
    	</form>
    	<p> und hier biss was :)</p>
    	</body>
    	</html>
    	';
    
    $pattern = "/(?:<input)?(?:value{1})(?:=)(?:[\"\']{1})([a-z0-9_\.]*)(?:[\"\']{1})(?:>)/si";
    preg_match_all($pattern, $subject, $result);
    echo "<pre>";
    print_r($result);
    echo "</pre>";
    
    ?>
    
    ´

    das ganze sollte dir im array $result die ergebnisse liefern!


    Code:
    Array
    (
        [0] => Array
            (
                [0] => value="autos">
                [1] => value="flugzeug">
                [2] => value="macuser.de">
            )
    
        [1] => Array
            (
                [0] => autos
                [1] => flugzeug
                [2] => macuser.de
            )
    
    )
    
    also $result[1][$i] sind deine values :)

    so long, michi
     
    Zuletzt bearbeitet: 17.12.2004
  7. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.560
    Zustimmungen:
    28
    Registriert seit:
    12.10.2003
    Kuuul Danke! Werde ich gleich Probieren! Ich werde mich wieder melden
     
  8. michanismus

    michanismus MacUser Mitglied

    Beiträge:
    434
    Zustimmungen:
    0
    Registriert seit:
    23.08.2004
    und? funktioniert es, oder müssen wir noch bissl basteln?
     
  9. balufreak

    balufreak Thread Starter MacUser Mitglied

    Beiträge:
    1.560
    Zustimmungen:
    28
    Registriert seit:
    12.10.2003
    @michanismus:
    Es funktioniert... Danke!
    Werde mich jetzt mal richtig mit den regulären ausdrücken auseinander setzen.

    Frohe Festtage!
     
  10. michanismus

    michanismus MacUser Mitglied

    Beiträge:
    434
    Zustimmungen:
    0
    Registriert seit:
    23.08.2004
    Mach das :)
    Frohe Festtage auch dir!
     
Die Seite wird geladen...
Ähnliche Themen - HTML grabbing Forum Datum
Importieren von Csv-Datei in HTML und Verwenden von Knoten js Web-Programmierung 02.11.2016
Formular direkt ausfüllen mit HTML Web-Programmierung 16.05.2015
HTML Code - Einbindung in Joomla möglich ? Web-Programmierung 15.08.2014
Desktop- und Mobileversion einer Webseite Web-Programmierung 11.02.2013
Mehrere Anonyme HTML-Elemente in JS auf einmal ansprechen Web-Programmierung 08.11.2012

Diese Seite empfehlen

Benutzerdefinierte Suche