$output = "";
$str = "[102015-11-07-paul25]\n[102015-11-07-herbert]";
$template = "Am %s.%s.%s hat %s %sjähriges Jubiläum\n";
if(preg_match_all("/[\d.(\d{4})-(\d{2})-(\d{2})-([a-z]+)(\d)]/i",$str,$data))
foreach($data[0] as $idx => &$unused)
$output .= sprintf($template, $data[3][$idx],$data[2][$idx],$data[1][$idx],$data[4][$idx],($data[5][$idx]?$data[5][$idx]:"ein"));
>
> MfG
> bubble
Hi bubble,
wow! Mal abgesehen davon, dass Dein Code sehr gut arbeitet (und das, obwohl ich den gar nicht verstehe), ist das Problem ein klein wenig anders (vermutlich sogar leichter).
> $datum = "2013-01-21";
> $Name = "Bernd";
> $string="[10xxx-yyy10]\n[20xxx-yyy5]\n[30xxx-yyy]";
> Gewünschtest Ergebnis:
> $string\_neu="Am 01.02.2013 hat Bernd 10 jähriges Jubiläum\nAm 11.02.2013 hat Bernd 5 jähriges Jubiläum\nAm 21.02.2013 hat Bernd Jubiläum";
Das heißt,
- \n bleiben bestehen
- Die Zahl vor xxx ist die zum Datum $datum zu addierende Anzahl an Tagen
- xxx selber ist ein immer gleicher Begriff mit dem Namen "xxx"
- yyy ist immer der Name "Bernd"
- die Zahl hinter dem yyy ist die Anzahl des Jubiläums
Ist das so besser ausgedrückt?
Viele Grüße, Bernd