RegExp PHP text zwischen mehreren span-tags
Ich nicht sehr gut Englisch sprechen. Also, wenn ich ' ll machen einige Fehler, bitte sorry.
Auf der Website habe ich ein div-box mit einigen Informationen zum Spiel:
<span class="noteline">Developer:</span>
<span class="subline">Gameloft</span>
<span class="noteline">Genre:</span>
<span class="subline">Racing/Arcade</span>
<span class="noteline">Release year:</span>
<span class="subline">2010</span>
Ich brauche, um die Informationen zwischen <span class="noteline">
und es ist Schluss-tag </span>
preg_match("/\<span\sclass=\"subline\"\>(.*)<\/span\>/imsU", $source, $matches);
die Lösung oben funktioniert gut, aber er bekommt nur die "subline" mit text "gameloft";
aber ich brauche auch sublines, die text-Racing/Arcade und 2010;
Vielleicht so etwas wie dies (das nicht funktioniert);
for developer = preg_match("/*(\<span\sclass=\"subline\"\>){1}*(.*)*(<\/span\>){1}*/imsU", $source, $matches);
for genre = preg_match("/*(\<span\sclass=\"subline\"\>){2}*(.*)*(<\/span\>){2}*/imsU", $source, $matches);
sowas..
Sowieso. Vielen Dank für jede Hilfe.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Alternative zu regexps wäre, die Nutzung phpQuery oder QueryPath, das vereinfacht es zu:
Reguläre Ausdrücke sind nicht geeignet zum analysieren von HTML. Sie sind schwer zu bekommen Recht, und Sie brechen immer in Rand-Fällen.
Ich weiß nicht, ob es ist ein einfacher Weg, dies sollte aber die Arbeit mit dem markup-Sie beschreiben:
Diese übernimmt
class="subline"
so werde es schlagen mit mehreren Klassen. (Neue Xpath-so Verbesserungen willkommen.)Versuchen Sie dies:
Ich habe versucht den obigen code so:
Die Ausgabe, die ich bekam war: