Dies findet, was es soll:PHP preg_match: Wie funktioniert die Übergabe einer Variablen an preg_match?
if(!preg_match($match="/^http\/[0-9]+\\.[0-9]+[ \t]+[ \t]*(.*)\$/i",$line,$matches))
Aber dies nicht:
if(!preg_match("/^http\/[0-9]+\\.[0-9]+[ \t]+[ \t]*(.*)\$/i",$line,$matches))
Die Funktionsreferenz für preg_match sagt, dass das erste Argument sollte übergeben:
Die Muster für die Suche, als Zeichenfolge.
Aber das Arbeitsbeispiel I oben geben weist das Muster zu einer Variablen: $match=...
Was ist hier los? Ich habe noch nie eine Variable gesehen, die mit preg_match verwendet wurde. Ich dachte, es sollte sein:
preg_match(string $regexpattern, string $thingtosearch, array $matches)
Kann mir jemand erklären, was hier passiert?
Was passiert, wenn Sie zuerst zuweisen, dann tun Sie 'if (! Preg_match ($ match, $ line, $ matches)) ''? Alle diese Fälle sollten das gleiche Ergebnis liefern, da es nicht so wichtig sein sollte, solange Sie ein gültiges Muster übergeben. – BoltClock