Hallo,
» if (preg_match('%.*Win' /></dt>
» <dd>(.*?)</dd>%s', $inhalt, $b)) {
» $wins = $b[1];
» }
- Wieso du % als Begrenzer nimmst, leuchtet mir nicht ein, aber egal (du kannst z.B. = nehmen...)
warum nicht? Es leuchtet ein, dass er den Slash nicht will. Das Gleichheitszeichen ist ebenfalls sehr irritierend; ich vermiede es in jedem Fall. Das Prozentzeichen finde hier angemessen gewählt.
- ich würde immer mit \s* bzw. \s+ nach whitespace suchen
ja, der Abschnitt von <dt> bis <dd> ist mutig :-)
- erwartest du nut Zahlen? dann \d+ nehmen.
Ziffern bitte ;-) Ein weiterer sinnvoller Verbesserungvorschlag.
- statt (.*?) kannst du hier auch ([^<]*) benutzen
warum kompliziert, wenn es auch einfach geht?
Wenn die RegExpe matchen, ist es immer noch wichtig, sich den Inhalt von $b anzuschauen.
Alternativ wäre es eine Idee, den zugegebenermaßen komplizierten Handbuchabschnitt zu Arrays [1] durchzuarbeiten oder sich daran zu erinnern, welchen numerischen Index PHP für das erste Arrayelement vergibt, wenn keine explizite Schlüsselzuordnung vorgenommen wird.
Freundliche Grüße
Vinzenz
[1] vor der entscheidenden Information gibt es noch zwei Hinweise zum
gleichen Thema, die in die Irre führen könnten.