hmm, wiedermal reg. Ausdruck

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

  • hmm, wiedermal reg. Ausdruck

    ich such mal wieder einen reg. Ausdruck der mir was ersetzt wenn es ;D lautet aber nicht wenn es  D ist !

  • #2
    /[^(nbsp)];D/sgi

    So vielleicht?

    CAT Music Files

    Kommentar


    • #3
      wo ihr schon wieder bei dem zeichen-wald seid, wer mag mir das mal genauer erklären. ich habe es auch mal versucht ...

      war nicht so das pralle vom leben aber immerhin so´n smilie-code habe ich hinbekommen. aber auch nur, weil ich den halben forum code von joelH hatte...
      h.a.n.d.
      Schmalle

      http://impressed.by
      http://blog.schmalenberger.it



      Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
      ... nur ohne :-)

      Kommentar


      • #4
        Ich werde dir da erstmal nichts darüber erzählen, weil das zu weit gehen würde (oder anders gesagt: weil ich gerade keine Lust dazu habe *g*)... Hier kannst du dich informieren:

        1) http://www.perldoc.com/perl5.6/pod/p...ar-Expressions

        2) http://www.phpbuilder.com/columns/dario19990616.php3

        CAT Music Files

        Kommentar


        • #5
          hmm,

          danke Sky

          @schmalle
          Naja den halben Code ist übertrieben, es waren vielleicht ein halbes Prozent des Codes

          Ich hab ein geniales Buch zu reg. Ausdrücken von oReilly, da wird dir schlecht beim lesen, naja es soll ja solche Fetischisten geben, mein Fall sind sie nicht.

          Kommentar


          • #6
            Re: hmm,

            danke Sky
            *staun* Es hat echt funktioniert? Hätte ich jetzt gar nicht gedacht, ich bin mir da immer etwas unsicher, wenn ich sowas poste, ohne es getestet zu haben

            Ich hab ein geniales Buch zu reg. Ausdrücken von oReilly, da wird dir schlecht beim lesen, naja es soll ja solche Fetischisten geben, mein Fall sind sie nicht.
            Wenn's nicht so unverschämt teuer wäre, würde ich es mir sogar mal anschaffen...

            CAT Music Files

            Kommentar


            • #7
              Wo ich immer bißchen durcheinander komme sind die Varianten von POSIX und PCRE.

              Aber kurz zu Erläuterung: /[^(nbsp)];D/sgi

              - die Slashes begrenzen das Suchmuster,
              - sgi sind sogenannte Optionsschalter (z.B. i steht für insensitiv, als CASELESS), die sich auf das Suchmuster auswirken,
              - die eckigen Klammern umfassen ein Zeichendefinition,
              - die runden Klammer kennzeichnen eine untergeordnete Suchmustergruppe.
              Bleibt noch das ^ welches für den Beginn einer Zeile steht, aber innerhalb der [] eine Negierung bedeutet -> in dieser Anweisung bedeutet es, daß vor deinem Suchzeichen KEIN nbsp stehen darf, aber sonst alles.

              Und es gibt für die selbe Lösung wohl zig Möglichkeiten, die eben alle zum Ziel führen.

              Arg viel mehr kann ich jetzt auch nicht sagen, ist auch noch früh am Morgen

              [Editiert von BrainBug am 11-12-2001 um 08:53]

              Kommentar


              • #8
                PCRE? Sagt mir gerade nichts... Erläuter mal kurz, wenn du Lust hast...

                CAT Music Files

                Kommentar


                • #9
                  Kleiner Auszug:

                  PCRE steht für "Perl Compatible Regular Expressions". All diese PCRE stehen über die Funktionen mit "preg" (Perl Regular Expressions) im Funktionsnamen zur Verfügung. Dagegen basieren die Funktionen, die mit ereg (Extended Regular Expressions) beginnen, auf dem durch POSIX 1003.2 erweiterten POSIX-Satz. POSIX steht für "Portable Open System Interface for UNIX" und es wurden sozusagen die regulären Ausdrücke entliehen.

                  Kommentar


                  • #10
                    merci @brain ... da bin ich schon mal schlauer. wo finde ich denn mehr zu sgi und den anderen optionsschaltern?
                    h.a.n.d.
                    Schmalle

                    http://impressed.by
                    http://blog.schmalenberger.it



                    Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                    ... nur ohne :-)

                    Kommentar


                    • #11
                      naja, einige, mittlerweile doch recht ausführliche Informationen findest du unter http://www.php.net/manual/de/ref.pcre.php (unterer Teil der Seite leitet dich weiter -> letzte zwei Punkte "Pattern Modifiers" und "Pattern Syntax").
                      Für die Anwendung der Perl-Ausdrücke kannst du unter http://www.php.net/manual/de/ref.regex.php nachschauen.

                      direkte Infos zu den Optionsschaltern/Modifier findest du unter http://www.php.net/manual/de/pcre.pattern.modifiers.php (s.o. in Klammer)

                      oder eben das Buch von O'Reilly. Ein paar Informationen findest du auch im SelfHTML. Im Buch von Jörg Krause "PHP4 - Grundlagen und Profiwissen" ist auch einiges beschrieben, aber nicht sehr tiefgehend. Sollte aber als Basis reichen. V.a. wenn du dir alles anguckst

                      Kommentar


                      • #12
                        hmm,

                        hab ich gesagt das der Ausdruck funzt ? Tut er so nämlich seider nicht, zumindestens nicht im Zusammenhang mit PREG_REPLACE, da kommt dann nämlich ein nettes compilation error : undefiend parentheses at offset xy oder so.

                        Naja und es liegt wie immer an der Klammerung, so funzt es nämlich
                        Code:
                        $seeker =   "|[^(nbsp)]([".$smile[$i]."])|";
                        zur erklärung ==>
                        1. $smile[$i] ist der entsprechende Smilie sagen wir mal es ist ;D

                        dann haben wir =>
                        Code:
                        $seeker =   "|[^(nbsp)]([;D])|";
                        und das bedeutet dass das vorherig Besprochene schon stimmt nur der Teil ;D wurde durch ([;D]) ersetzt, welches bedeutet das diese Zeichenfolge auf nbsp folgt, oder auch kommt ohne dass nbsp da war, wichtig sind diese runde Klammern wenn man preg_replace benutzt, denn dadruch werden die einzenen Teile gekennzeichnet die man dann wieder einbauen kann in den zu ersetzenden Text. Ohne die runden Klammern gibts diese Fehlermeldung und hat mich schon des öfteren zur verzweiflung getrieben.

                        Kommentar


                        • #13
                          na bringt mich doch weiter. danke. werde mich melden, wenn ich alles kaputt-getestet habe
                          h.a.n.d.
                          Schmalle

                          http://impressed.by
                          http://blog.schmalenberger.it



                          Wichtige Anmerkung: Ich habe keine Probleme mit Alkohol ...
                          ... nur ohne :-)

                          Kommentar


                          • #14
                            hmm,

                            diese Ausdrücke sind ja noch für Kinder, naja und ich bekomme auch wirklich immerwieder leuchtende Augen wenn ich mir anzeigen lasse was mein Ausdruck für Effekte hervorruft, wenn er denn geparst wird, naja aber wie gesagt, hab da ein Buch da ist ein Ausdruck drin um eMail Header zu verhackstücken, das ist krass das Teil besteht aus ca. 4700 Zeichen !! Das nenn ich Fetischismus. Und einer haat sogar 6500+ Zeichen, sowas ist schon fast krank, der gesamte Ausdruck ist in sehr kleiner Schrift gedruck und unfasst trotzdem fast die gesamte Buchseite !!

                            Kommentar


                            • #15
                              was für Kinder?

                              Kommentar

                              Lädt...
                              X