rekursiv preg_match mit ersetzung
thomaspaß
- php
Hallo,
ich habe einen String, in diesem wird mit preg_match nach
$ eine Zahl $ gesucht.
Zahl ist dann ein Key in einem Array und $ eine Zahl $ soll durch dessen Wert ersetzt werden.
Nun kann dies aber endlos verschachtelt sein, sprich in dem Neu ersetzten $ eine Zahl $ aus dem Array kann wieder ein $ eine Zahl$ stehen, auch dieses soll wieder ersetztz werden.
Wie geht man soetwas an?
Gruß
Hello,
Hallo,
ich habe einen String, in diesem wird mit preg_match nach
$ eine Zahl $ gesucht.
bitte zeige einen Mustertext und das Pattern für preg_match
Zahl ist dann ein Key in einem Array
soweit kann ich Dir folgen
und $ eine Zahl $ soll durch dessen Wert ersetzt werden.
Hier fehlen entweder bedeutende Satzziechen, der Satz ist durcheinandergekommen oder du sprichst eine Sprache, die ich nicht verstehe.
Nun kann dies aber endlos verschachtelt sein,
Das kann ich mir nun wieder (fast) vorstellen
sprich in dem Neu ersetzten $ eine Zahl $ aus dem Array kann wieder ein $ eine Zahl$ stehen, auch dieses soll wieder ersetztz werden.
da ist es wieder, das Problem mit der Sprache...
Rekursion ist aber nicht notwendig, sondern nur ein zirkulärer Verlauf, also eine Schleife.
Rekursion ist nur notwendig, wenn keine serielle Abarbeitung möglich sit, wenn also Ergbenisse einer Auflösung mehrwertig werden können. Wenn alle Ersetzungen aber nur einwertig bleiben, also immer nur maximal _ein_ Wert durch Ersetzung folgt, dann ist keine Rekursion notwenig.
Liebe Grüße aus Syburg bei Dortmund
Tom vom Berg
sprich in dem Neu ersetzten $ eine Zahl $ aus dem Array kann wieder ein $ eine Zahl$ stehen, auch dieses soll wieder ersetztz werden.
da ist es wieder, das Problem mit der Sprache...
Rekursion ist aber nicht notwendig, sondern nur ein zirkulärer Verlauf, also eine Schleife.
Rekursion ist nur notwendig, wenn keine serielle Abarbeitung möglich sit, wenn also Ergbenisse einer Auflösung mehrwertig werden können. Wenn alle Ersetzungen aber nur einwertig bleiben, also immer nur maximal _ein_ Wert durch Ersetzung folgt, dann ist keine Rekursion notwenig.
Ich habe ebenfalls versucht, das Vorhaben zu verstehen, und habe folgende Tücke gefunden:
Eine Endlosschleife droht.
Ich verwende Perlcode, aber das Problem bleibt das gleiche
$test = "gib mir eine 1";
@array= ('a', 'b', 'c', 'd','e');
%hash = (
a => 'gib mir eine 1',
b => 'gib mir eine 0',
);
Ablauf der Ersetzung:
$test = "gib mir eine 1"
$test = "gib mir eine gib mir eine 0"
$test = "gib mir eine gib mir eine gib mir eine 1"
...
...
...
mfg Beat