PHP RegEx

Hallo zusammen.

Ich habe einen String, dieser String beinhaltet: zB
$string = ‚‘;

Nun will ich beim Submit diesen String über womöglich RegEx formatieren, dass das aus dem verschwindet.
Also
$neuString = ‚‘;

Jedoch beim Zurücklesen der Daten, möchte ich das $neuString zu $string wird also sprich, den Schritt wieder rückgängig machen, es wird aus $neuString wieder $string = ‚‘;

Wie kann ich das angehen?

Gruß und Dank,
Sebastian

Hallo

Ich habe einen String, dieser String beinhaltet: zB
$string = ‚‘;
Nun will ich beim Submit diesen String über womöglich RegEx
formatieren, dass das aus dem verschwindet.
Also
$neuString = ‚‘;
Jedoch beim Zurücklesen der Daten, möchte ich das $neuString
zu $string wird also sprich, den Schritt wieder rückgängig
machen, es wird aus $neuString wieder $string = ‚‘;
Wie kann ich das angehen?

Wozu?

Ich hab das jetzt drei mal gelesen und kann
mir nicht vorstellen, wozu das gut sein soll.

Was bedeutet „beim Zurücklesen der Daten“?

Hmm.

Grüße

CMБ

Hallo CMБ.

Wozu?

Der -String soll in einem Richtext-Editor verdeutlichen, dass hier ein Anker vorhanden ist. Jedoch beim Speichern des Inhalts ist dieses Bild nicht von Notwendigkeit. Also sprich, wenn man den Artikel auf der Homepage ansurft, soll dieser Anker nicht ersichtlich sein. also aus wird .

Was bedeutet „beim Zurücklesen der Daten“?

Nun möchte der User aber den vorher gespeicherten Artikel wieder ändern und muss nun sehen, da liegt ein Anker. Also aus wird .

Hoffe du verstehst was ich meine.

Gruß Sebastian

Hi

Beim umwandeln in RichText lässt du ein

$string = '';
$new\_string = $str\_replace('', '', $string)

Das sollte klappen da es ja nur um das Ankerbild geht.

Beim wieder einlesen des Ankers wird es schon etwas komplizierter da wir ja nicht in jeden Link dasn anchor.png einfügen dürfen.
Hier wäre es gut wenn die Anchors immer die selbe Form haben und sich von den normalen Links unterscheiden. Dann kann man das mit einem preg_replace machen.

$replaceString = '{tempInhalt}';
$neuString = '';

preg\_match\_all('//i', $neuString, $match);

$tempString = preg\_replace('/()/i', '', $neuString);

for ( $i=0; $i

Erklärung:
Mit dem preg\_match\_all lesen wir erst die ganzen links für die Ankerpunkte aus. Danach ersetzen wir die Links mit dem Ankerbild. Nun fehlen uns natürlich die ankerlinks die wir aber durch die Schleife wieder einfügen.
Geht bestimmt och eleganter ich weiß z.b. das es zurückreferenzierte preg\_replace gibt. Mit denen könnte man das in einem Preg\_replace alles abhandeln. Aber ob das dann wirklich schneller ist, wage ich zu bewzeifeln da preg\_match und preg\_replace doch sehr langsame, wenn auch mächtige Instrumente sind.


Ich habs nur schnell runtergehakt da ich gleich weg muß. Aber der Ansatz sollte zumindest veranschaulichen das es funktionieren kann.

Gruß Lamer

Danke für deine Lösung, hat einwandfrei geklappt.

Gruß Sebastian