PHP Problem mit regulärem Ausdruck

baserider

Well-known member
ID: 174417
L
10 März 2007
682
23
Hi,

PHP:
$string = 'ich, bin, ein, sinnloser Text, was, solls';
preg_replace('/([0-9a-zA-Z\-]+)(,?)/',$1test$2,$string)

rauskommen soll sowas:
ichtest, bintest, eintest, sinnloser Texttest, wastest, sollstest

Ich hab Probleme mit dem Leerzeichen. Kann man das irgendwie ignorieren? Es werden immer zwei Wörter erkannt wo das Leerzeichen drin ist.
 
Zuletzt bearbeitet:
Wenn du sowas immer am Komma festmachen willst, kannst du auch den String am Komma exploden, trimmen, falls ein Leerzeichen noch dran is, und nem array_map überall das "test" anhängen lassen.

Quasi so:
PHP:
$func = function($v) { // (λ-Funktionen: PHP >=5.3)
  return trim($v).'test';
}
array_map($func, explode(',', $string));