Benötige Hilfe bei preg_match

Hallo,

ich möchte mir einen Wert aus einer Webseite gerne auslesen. Dazu würde ich gerne preg_match verwenden. Tue mir aber schwer, den String aufzubauen. Könntet ihr mir dabei bitte helfen - folgenden Wert möchte ich gerne in eine Variable bekommen:

Danke euch

Gar kein Problem:

// TODO: $htmlContent mit dem HTML füllen
$matches = [];
$found = preg_match('/<span class="hit-counter">([0-9\.]+)<\/span>/', $htmlContent, $matches);
if ($found) {
  $value = $matches[1];
}

Innerhalb des found-Blockes, hast du dann den Wert des hit-counter in $value stehen, allerdings noch als String. Das möchtest du also möglicherweise noch konvertieren. Ist $found false, dann gibt es in dem HTML keinen hit-counter.

Danke Dir - ich bekomme aber leider als Ergebnis „0“ ausgegeben.

Hier mein Code:

<?php
$_url = "https://suchen.mobile.de/fahrzeuge/search.html?c=Integrated&c=PartlyIntegrated&isSearchRequest=true&ref=dsp&s=Motorhome&vc=Motorhome";
$_buffer = file_get_contents($_url);
$row["id"] = preg_match('/<span class="hit-counter">([0-9\.]+)<\/span>/', $_buffer);
echo "$row[id]";
?>

Das scheint auch korrekt zu sein. Wenn ich den Code bei mir reinkopiere und ausführe, dann gibt es im Buffer keinen span. Wie du jetzt genau an den passenden HTML-Inhalt kommst, kann ich dir aber nicht sagen.

@FRAD
ich hab jetzt mal aus Spaß die URL geöffnet. Könnte es sein, dass dein file_get an der Abfrage, ob du ein Mensch bist scheitert? Ich hab das nämlich bekommen. Erst nach eigener Kontrolle und anklicken „ich bin ein Mensch“ gings weiter.

Gute Frage - ich habe es mal umgebaut… Scheint aber auch nicht zu gehen:

$site_start = 'https://suchen.mobile.de/fahrzeuge/search.html?c=Integrated&c=PartlyIntegrated&isSearchRequest=true&ref=dsp&s=Motorhome&vc=Motorhome';
$ch = curl_init();
curl_setopt($ch,CURLOPT_URL, $site_start);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); // Location: folgen
curl_setopt ($ch, CURLOPT_COOKIEJAR, 'cookie.txt'); // cookies unterstützen...
curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1); // ausgabe als string
$result = curl_exec($ch);
curl_close($ch);

$html= str_get_html($result);
print_r($html);

Bin mir nicht sicher ob das hilft. Weil eigentlich soll diese Ich-bin-ein-Mensch Abfrage ein automatisiertes Auslesen verhindern. Auch wenn es nervig ist.

Ne selbst wenn ich noch einen User Agent im Curl mitgebe, komme ich nicht an den Content… Gibt es da echt kein Mittel?