Text ersetzen

  • Hallo zusammen,

    ich komme mit regulären Ausdrücken einfach nicht klar, deshalb hoffe ich hier auf Hilfe. Folgender Text ist z.B. gegeben:

    PHP
    $string = "Dies ist ein belieber Text mit dem Passwort [password]Passwort[/password], in dem ersetzt werden soll";


    Rauskommen soll dann

    PHP
    $string = "Dies ist ein belieber Text mit dem Passwort xxxxxxxx, in dem ersetzt werden soll";


    Ich bedanke mich im vorraus für eine Lösung!

  • Warum willste dafür die regex anschmeißen. Ein eifnaches str_replace reicht doch aus:

    PHP
    $string = str_replace (array("[password]", "[/password]"), "", $string);

    Ungetestet.

  • Wirklich nur die bb-Tags rauswerfen oder auch das Passwort als x'se darstellen? Interessieren würde mich der Zweck der ganzen Sache, sieht mir irgendwie ziemlich unsinnig aus...

    Gruß crAzywuLf :D

  • Sorry, ich denke, ich habe das nicht ausreichend erklärt. Sinn der Sache ist, dass in einer Datenbank einige Infos gespeichert werden sollen, unter anderem auch Texte mit Passwort-Informationen. Der Normaluser darf den Text zwar lesen, aber das Passwort soll nicht sichtbar sein, sondern statt dessen eine kleine Grafik eingeblendet werden. Hat man erweiterte Rechte, soll das Passwort angezeigt werden, aber ohne [passwort] und [/passwort]. Was ich jetzt also brauche, ist einmal den Text zwischen den [passwort] und [/passwort] und dann ein replace, wobei das ja auch mit str_replace erledigt werden könnte. Was dabei aber noch wichtig ist, dass es mehrere so codierte und unterschiedliche Passwörter im Text sein können, also

    Passwort1: [password]abc[/password], Passwort2: [password]def[/password]

    Ich müsste als abc und def ermitteln und dann austauschen. Ich hoffe, dass ich das jetzt besser erklärt habe.

    Danke
    Michael

  • Damit sollte es gehen (ungetestet)