Hey ihr. Mir ist gerade beim Hantieren mit preg_match_all etwas aufgefallen das mir einige Fehler und seltsames Verhalten beschert hat.
Folgender Aufruf:
Erzeugt folgendes Ergebnis:
Die Ergebnisse sind natürlich richtig, aber warum hat das Array zwei Felder? Und noch dazu in beiden die gleichen Ergebnisse in der gleichen Reihenfolge?
Folgender Aufruf:
PHP-Code:
echo "input: ".$text."<br />";
preg_match_all('/?<=@)([^\s@,\n\r]+)/', $text, $matches);
echo "<pre>matches:
";
print_r($matches);
echo "</pre>";
Code:
input: @apoy2k @apo y2k @ apoy2k@apoy2k@apo y2k matches: Array ( [0] => Array ( [0] => apoy2k [1] => apo [2] => apoy2k [3] => apo ) [1] => Array ( [0] => apoy2k [1] => apo [2] => apoy2k [3] => apo ) )
Kommentar