Hilfe bei RegExp

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Hilfe bei RegExp

    Hallo an alle , die dem RegExp mächtig sind.

    Ich brauche einen bestimmten regulären Ausdruck.

    Und zwar soll ein color=#?????? in einem Font-Tag gelöscht werden, wenn er nicht eine von zwei bestimmten Fraben hat.

    Mein Anfang was so:
    $content = eregi_replace(" color=#[a-f0-9]{6}", "", $content);

    Wie sage ich ihm aber, dass er FF0000 und DD0000 nicht löschen soll?

    Ich habe es schon über die Negatation probiert [^(DD0000|FF0000)] aber das hat nicht funktioniert. Womöglich habe ich es auch in der verkehrten Systax eingebaut.
    $content = eregi_replace(" color=#([^(DD0000|FF0000)]|[a-f0-9]{6})", "", $content);

    Wie muß dass den richtig aussehen?

    Also: Finde " color=#" gefolgt von beliebigem hexdec-Wert, der nicht "DD0000" oder "FF0000" ist.


    Danke,
    Andi

  • #2
    PHP-Code:
    $text "muhaaaaa dsfsd color=#DD0090 dfjsdkfhsd";

    if(!
    ereg("(.*)color=#FF0000(.*)"$text) && !ereg("(.*)color=#DD0000(.*)"$text)) {
        
    $text ereg_replace("(.*)color=#([A-Za-z0-9]{6})(.*)""\\1\\3"$text);

    tata
    moqui

    [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

    Kommentar


    • #3
      man könnte es noch verschärfen, indem man noch "<font" und ">" und "</font>" noch miteinbezieht.
      tata
      moqui

      [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

      Kommentar


      • #4
        Merci,

        natürlich - so geht es auch, ich dachte man könnte das auch direkt im regulären Ausdruck angeben.
        Habe ich mal wieder eine Spur zu komplex gedacht, wenns auch einfacher geht.

        Grüße, Andi

        Kommentar


        • #5
          hmmm...ich wüsste nicht, wie man eine Bedingung direkt in eine ereg* oder preg* Funktion einbauen könnte.
          tata
          moqui

          [COLOR=red]Ich will keine unaufgeforderten Mails über PHP Fragen. Es gibt ein Forum hier! Und ich bin nicht Scripter für jeden, der mir ne Mail schreibt![/COLOR]

          Kommentar

          Lädt...
          X