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
)
)
Moderator
Kommentar