Arne P.: Regulärer Ausdruck (wie geht das eigentlich?)

Beitrag lesen

Hi.

Probier es mal hiermit:

$t = "26588-26989";
  $anderes_zeichen = "x";
  $t = preg_replace("/(\d{5})-(\d{5})/","\1$anderes_zeichen\2",$t);

Erklärungen:

Zeile 1+2: leicht verständlich, einfache Variablenzuweisung.
Zeile 3: Reguläre Substitution nach Perl-Syntax.

/ /  schließt die Regex ein.
\d ist eine Ziffer, wir brauchen 5 Stück davon, dafür ist die {5} dahinter. \d{5} bedeutet: genau 5 Ziffern.
Die Klammern sind dazu da, alles was vor und hinter dem - steht, einzufangen, später kann per \1 und \2 (hier per \ escaped, daher \1 und \2) wieder aufgerufen werden.

Kurz: es werden 5 Ziffern, dann ein -, dann wieder 5 Ziffern gesucht. Wenn dies zutrifft, werden die Ziffern genommen und zusammen mit $anderes_zeichen wird ein neuer String erstellt. Falls mehrere Funstellen im String sind, werden alle ersetzt.

Ich hoffen, das war verständlich! :-)

MfG, Arne P.