Turtle: Reguläre Ausdrücke und PHP

Hallo,

ich habe folgenden Ausdruck:

$myString = "</Obst/Birnen/>Mehr...[/link]";

Diesen möchten ich mit folgendem Ausdruck bearbeiten:

$newString = str_replace("/[link:(.*)](.*)[/link]/ismU", "&nbsp;<a href="\1" target="_top">\2</a>", $myString);

Das liefert mir für $newString:
&nbsp;<a href="/Obst/Birnen/" target="_top">Mehr...</a>

Nun möchte ich aber folgendes haben:
&nbsp;<a href="/obst/birnen/" target="_top">Mehr...</a>

Der Link soll also in Kleinbuchstaben stehen.

Ich habe schon folgendes versucht, leider ohne Erfolg:

$newString = str_replace("/[link:(.*)](.*)[/link]/ismU", "&nbsp;<a href="".strtolower("\1")."" target="_top">\2</a>", $myString);

und

$newString = str_replace("/[link:(.*)](.*)[/link]/ismUe", "&nbsp;<a href="".strtolower("\1")."" target="_top">\2</a>", $myString);

Aber das funktioniert alles nicht.

Hat jemand einen Lösungsvorschlag?

Danke im vorraus,
Turtle

  1. Huhu

    $newString = str_replace("/<(.)](.)[/link]/ismU", "&nbsp;<a href="\1" target="_top">\2</a>", $myString);

    Das liefert mir für $newString:
    &nbsp;<a href="/Obst/Birnen/" target="_top">Mehr...</a>

    Nein, tut es ganz sicher nicht.

    Aber das funktioniert alles nicht.

    Richtig.

    Hat jemand einen Lösungsvorschlag?

    Lies in der Doku nach was str_replace() macht.
    [link:http://de2.php.net/manual/de/function.str-replace.php>
    Suche dann nach Funktionen um reguläre Ausdrücke anzuwenden.
    http://de2.php.net/manual/de/ref.pcre.php

    Viele Grüße

    lulu

    --
    bythewaythewebsuxgoofflineandenjoytheday
    1. Hi,

      Nein, tut es ganz sicher nicht.

      Oh, doch, das tut es ganz bestimmt!!!!
      Sonst würde ich das ja wohl nicht schreiben!

      Lies in der Doku nach was str_replace() macht.

      Ich weiß, was  str_replace() macht.
      Aber darum geht es hier nicht.

      Trotzdem danke,
      Turtle

  2. Hallo Turtle.

    Hat jemand einen Lösungsvorschlag?

    strtolower

    Danke im vorraus,

    Worin?

    Einen schönen Mittwoch noch.

    Gruß, Mathias

    --
    ie:% fl:| br:< va:) ls:& fo:) rl:( n4:~ ss:) de:] js:| mo:| zu:)
    debian/rules
  3. Habe die Lösung selber gefunden:

    $newString = str_replace("/[link:(.*)](.*)[/link]/ismU", "'&nbsp;<a href="'.strtolower('\1').'" target="_top">\2</a>'", $myString);

    Und das funzt.

    Danke