Zahl vor Wort ermitteln in String

DerLukasz

Grünschnabel
Hi zusammen :),

ich bin kein Kenner der regulären Ausdrücken und PHP ;-). Dennoch muss ich in einem langen Text eine Zahl vor einem bestimmten Wort ermitteln.

Folgendes Beispiel:

asfasdfasd 82 „das“-muss adf das . afasdfasdf „das“-muss afasdfg asdgjasdg „das“-muss​

Jetzt müsste ich vor dem Pattern „das“-muss die Zahl 82 ermitteln!

Das Problem: „das“-muss kommt öffter als nur einmal im Text vor, aber nur beim ersten mal mit einer Zahl davor. Diese Zahl brauche ich****** Ideen? Ich habe echt keinen wirklichen Ansatz außer, dass es warscheinlich mit preg_match geht :D

Danke an Alle! :rolleyes:

Gruß,
Luke
 
PHP:
 <?PHP
  $subject = 'asfas 5634 dfasd 82 „das“-muss adf das . afasdfasdf „das“-muss afasdfg asdg 565 jasdg „das“-muss';
  $pattern = '/([[:digit:]]+) „das“-muss/';
  $result = preg_match($pattern, $subject, $subpattern);
  echo $subpattern[1];
?>
 
Schonmal vielen vielen Dank! Klappt perfekt.

Mein problem ist jetzt, dass das $subject Inhalt einer anderen Seite ist. Ich hole mir den Inhalt mit
$page = file_get_contents($url);
Wenn ich das Pettern auf $page anwende schlägt es fehl! Ich dachte erst, dass etwas mit dem inhalt von $page nicht stimmt. Diesen habe ich mir aber in eine Datei gespeichert und das 82 „das“-muss ist ganz klar vorhanden. Muss ich bei dem Inhalt von $page der vol file_get_contents stammt noch etwas beachten?

Gruß und danke! :)
 
Bist du sicher, dass $page den richtigen Inhalt hat?
Gib m al ein var_dump($page) aus. Ggf. error_reporting anschalten.
 
Oha. Versucht da jemand eine Seite auszulesen? Hoffentlich mit Genehmigung ;)

Es könnte sein, dass die Anführungsstriche als &...; in HTML hinterlegt sind. Wenn Es eine HTML-Seite ist, dann kannst auch mit XmlQuery, strpos und substr da durch kommen.

Kannst Du mal den Quelltext des Abschnitts zeigen?
 
Zurück