Preg Match - Unerklärliches Ergebnis

  • Hey,


    ich lese gerade Daten aus einer Seite aus. Dazu habe ich mich mit preg_match beschäftigt und ein Pattern gefunden welches funktioniert.


    Das komische ist nur, dass es bei 2 gleichen Elemente mit anderer Klasse mir nur von 1 Element den Inhalt zurückgibt.

    Ich kann es nicht nachvollziehen.


    Hier ist der Code:

    PHP
    $html = '<div class="product-price-value" itemprop="price">$7.49</div>';
    preg_match('/<div class="product-price-value">(.*?)<\/div>/s', $html, $match);
    
    var_dump($match); // Hier wird ein leeres Array zurückgegeben
    
    $testHtml = '<div class="test">Testcontent</div>';
    preg_match('/<div class="test">(.*?)<\/div>/s', $testHtml, $testmatch);
     
    var_dump($testmatch); // hier Testcontent


    Habt ihr eine Idee warum ich beim Ersten nicht zurückgegeben bekomme?


    Schöne Grüße,
    Stef

  • Hi,


    guck dir mal an, wonach du im ersten Fall suchst.


    Du suchst nach


    HTML
    <div class="product-price-value">


    Aber in dem zudurchsuchenden Code ist noch das Attribut itemprop geschrieben.

    HTML
    <div class="product-price-value" itemprop="price">

    Er kann es also nicht findent, da du im Suchstring nach product-price-value den Tag schliesst.

Jetzt mitmachen!

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