PHP: Wie kann ich preg_match match wird nur das erste vorkommen?
preg_match($pattern, $subject, $matches), $matches zu sein scheint, ein array von alle Spiele, ich brauche nur das erste vorkommen des regex-Muster, und ich möchte, dass passende sofort stoppen, sobald es eine übereinstimmung findet, und speichern Sie es in $matches. Ist es möglich? Danke.
Ich Rede nicht von gierigen match(.* und .*?), ein Beispiel ist wie folgt,
$str = 'abcd,abed,abfd,abgd';
preg_match("/ab.d/", $str, $match);
Will ich es nur finden, abcd und nicht irgendeinen der weiteren Spiele, für weitere matches sind für mich nutzlos und ich davon ausgehen würde, nehmen mehr Zeit, um zu verarbeiten.
- Geben Sie einige Beispiele, bitte.
- Nicht nur zurück
1
oder0
= - Nur 1 match. Wie erwartet.
- Uhm, es gibt nur den ersten match schon? Werden Sie vielleicht Fragen über die array-Verpackung?
- Standardmäßig gibt es nur das erste Spiel
- sorry, ich wollte nicht zurück, ich meine, $matches speichert alle möglichen Spiele, und ich will nur das erste vorkommen, und ich will es halt am ersten match.
- überprüfen Sie die Antwort von mir. ich hoffe, Sie sind auf der Suche für eine.
- Danke Jungs, das ist so die dümmste Frage, die jemals...
- Wenn du deine Lösung dann daneben, wie eine Antwort auf das, was gegeben wird, zunächst und erfüllen Ihre Anforderung. danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie wollen wie diese:-
Ausgabe:- https://3v4l.org/bErZL
preg_match
tut, was Sie wollen, Stoppt nach dem ersten match, im Gegensatz zupreg_match_all
, der findet alle vorkommen. In deinem Beispiel: