Sakur Enseleit: Wie bekomme ich diesen String mit Regulären Ausdrücken heraus?

Hallo Forum!

Ich schlag mich jetzt schon Stunden damit herum und komme einfach auf keinen grünen Zweig. Habe inzwischen wahrscheinlich schon mehr Fehlermeldungen erhalten, als ein Windows-Nutzer an einem Tag (kleiner Scherz am Rande ;)

Aus folgendem Tag möchte ich die Farbe und den Text herausgefiltert bekommen (also in dem Fall FF0000, kann sich aber immer ändern):

[color=FF0000]Text[/color]

Kann mir jemand von euch da einen Rat geben? Ich steh total an bei diesen be**** regulären Ausdrücken. Ich kapier nicht, wie sich jemadn sowas ausdeneken kann. Ich hoffe inständig, dass mir jemand von euch helfen kann.

  1. [color=FF0000]Text[/color]

    [A-Fa-f0-9]{6}

    Stefan

    1. [A-Fa-f0-9]{6}

      Es funktioniert wirklich. Und ich probier da stundenlang rum. Danke erstmal, aber leider habe ich vergessen zu sagen, dass ich sozusagen das [color=...] um die Farbe durch das ersetzen muss: <span style="color:...">

      Geht das auch irgendwie?

      1. Hallo Sakur!

        [color=FF0000]Text[/color]   => <span style="color:...">Text</span>

        Geht das auch irgendwie?

        aber natürlich:

        $text=preg_replace("~[color=([0-9A-F]{6})](.*?)[/color]~i","<span style="color:#\1">\2</span>",$text);

        wo ist das Problem?

        http://www.php.net/manual/de/pcre.pattern.syntax.php

        Jepp, das muss man ganz lesen. Und ja, man versteht das alles beim ersten mal nicht so recht. (Gibts schliesslich ganz Bücher zu.)
        Und nein, ohne tagelanges Rumprobieren lernt man das auch nicht.

        Gruss,
         Carsten

        1. $text=preg_replace("~[color=([0-9A-F]{6})](.*?)[/color]~i","<span style="color:#\1">\2</span>",$text);

          Besser:

          $text=preg_replace("~[color=([0-9a-fA-F]{6})](.*?)[/color]~i","<span style="color:#\1">\2</span>",$text);

          Da bei der Farbangabe auch Kleinbuchstaben erlaubt sind.

          Stefan

          1. Oh Mann Danke! Es läuft! Ihr seid genial, ihr habt meinen Tag gerettet! *schleim* ;)
            Hab zwar nix davon verstanden, aber sobald ich Zeit hab setz ich mich hin und lerns :)

          2. Hallo Stefan!

            Besser:
            [...]
            Da bei der Farbangabe auch Kleinbuchstaben erlaubt sind.

            Und was meinst du wofür der i modifier steht?

            http://www.php.net/manual/de/pcre.pattern.modifiers.php

            Gruss,
             Carsten