1. #1
    Avatar von Devon
    Registriert seit
    18.11.2011
    Beiträge
    2.189
    Thanked 1.576 Times in 1.025 Posts

    Standard Problem: cURL Webseite auslesen - leere Ausgabe

    Hallo,

    auch wenn ich eigentlich der Mensch bin, der versucht sich immer vorerst über Google schlau zu machen komme ich bei folgendem Snippet nicht weiter. Ich will eine Webseite auslesen wo in einem h4-Tag ein Name steht, denn will ich aber vorher mit einer Form definieren und dann an die URL übergeben, siehe:

    PHP-Code:
    <?php
            
    if(isset($_POST['submit'])) {
        
    $nickname $_POST["nickname"];
        
    $ch curl_init("http://trolololol.lal?nickname=".$nickname."");
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);  
        
    curl_setopt($chCURLOPT_HEADER0);
        
    curl_setopt($chCURLOPT_USERAGENT"Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)");
        
    $content curl_exec($ch);
        
    curl_close($ch);
        
    $getnickname preg_match("#<h4>(.*)<\/h4>#"$content);
        echo 
    $getnickname[1];
         }
        
    ?>
    Wenn ich echo $content; mache bekomme ich die Ausgabe der Webseite, somit funktioniert die Übergabe von $nickname also. Wie gesagt, verzweifle grade weil ich irgendwie nichts mit dem Snippet ausgelesen bekomme.

    Grüße

  2. #2

    Registriert seit
    28.10.2011
    Beiträge
    630
    Thanked 283 Times in 171 Posts

    Standard AW: Problem: cURL Webseite auslesen - leere Ausgabe

    Was genau willst du nun? RegExp?

    Du nutzt einen zu groben Platzhalter (.*). Warum definierst du nicht bis er das ende von h4 gefunden hat?
    Im übrigen suchst du nicht preg_match, sondern preg_match_all

    RegExpr (Zeilenumbrüche zum verständniss):
    PHP-Code:
    /
    <
    h4>           <<<< ANFANG
    ([<\/h4>]+)              <<<< Gehe solange durch (+) bis der Anfang (^) von <\/h4gefunden wurde
    <\/h4>           <<<< ENDE
    /Uis              <<<< Flags 
    Nun zu den Methoden:
    preg_match($reg, $input) überprüft nur ob $reg vorhanden ist und gibt true/false zurück

    preg_match_all($reg, $input, $output) erklärt sich eig. von selbst,.. mach ein print_r oder var_dump von $output


    Und nochmal komplett:
    PHP-Code:
    $html file_get_contents("http://sonstwas.de/");

    preg_match_all("/<h4>([^<\/h4>]+)<\/h4>/Uis"$html$matches);

    print_r($matches); 
    Geändert von Bubble Gum (27.06.2013 um 00:29 Uhr)

  3. The Following 2 Users Say Thank You to Bubble Gum For This Useful Post:

    bommel1998 (09.06.2015), Devon (27.06.2013)

Ähnliche Themen

  1. PHP IMDB ausgabe
    Von RiPLEYY im Forum PHP
    Antworten: 8
    Letzter Beitrag: 27.03.2014, 19:43
  2. VB.Net Regex Ausgabe bleibt leer?!
    Von One Way im Forum .Net
    Antworten: 2
    Letzter Beitrag: 05.03.2014, 15:39
  3. .php Dateien von Webseite auslesen
    Von IceNet im Forum PHP
    Antworten: 3
    Letzter Beitrag: 13.06.2013, 15:16
  4. cURL trotz Aktivierung nicht vorhanden
    Von IceNet im Forum PHP
    Antworten: 0
    Letzter Beitrag: 08.05.2012, 18:53
Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.