frage zum regulären ausdruck tutorial

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

  • frage zum regulären ausdruck tutorial

    mich verwirrt bei eurem tut folgendes:

    PHP-Code:
    $str preg_replace("!\[b\](.*?)\[/b\]!","<b>text</b>",$str); 
    warum kommt da 2 mal ein ! vor, ! heisst doch not, was soll das heissen?
    und wie behaltet man den überblick bei längeren ausdrücken.

    link zum tut: http://php-resource.de/tutorials/read/10/1/

    thx,

  • #2
    Re: frage zum regulären ausdruck tutorial

    Original geschrieben von meskalin
    warum kommt da 2 mal ein ! vor, ! heisst doch not, was soll das heissen?
    Du möchtest dich informieren, was ein Delimiter ist.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Das steht so ziemlich am anfang des tutorials unter Aufbau eines regulären Ausdrucks!

      Edit: Wie lang doch zwei Minuten sein können
      [color=blue]...ich sehe was, was du nicht siehst...und das ist der QUELLTEXT![/color]

      Kommentar


      • #4
        Hi,

        das !-Zeichen ist in diesem fall nicht als teil der regex zu betrachten.
        Jeder ausdruck ist in sog. delimiter eingeschlossen so dass der
        parser weiss wo der ausdruck anfängt und wo er aufhört.
        Prinzipiell kann man in php diverse zeichen als delimiter verwenden.
        Man muss dann nur beachten dass die zeichen nicht auch
        im ausdruck bzw. nur escaped vorkommen.

        Für die übersicht helfen kommentare und der x-modifier.


        greets

        Edit: hm dabei hab ich doch gar nicht so lange gebraucht
        (((call/cc call/cc) (lambda (x) x)) "Scheme just rocks! and Ruby is magic!")

        Kommentar


        • #5
          aha man kann also eim beliebiges zeichen als delimiter verwenden, die syntax von php is schon etwas strange.
          thx,

          Kommentar


          • #6
            Original geschrieben von meskalin
            aha man kann also eim beliebiges zeichen als delimiter verwenden,
            Nö, kann man nicht.

            Sag mal, liest du das Tutorial eigentlich auch mit Verstand ...?
            die syntax von php is schon etwas strange.
            Und dein Verständnis davon erst ...!
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Ich würde als delimiter in php den # verwenden und weder ! noch /. (hab ichmal
              gesehen und für gut gefunden). Zudem ist's in Anführungszeichen.

              Gegen den / spricht 1 dass er in urls vorkommt und 2 der \ vielver-
              wendetwird. Für den / spricht dass er in Perl normalerweise gebraucht wird.

              Ein Sinn des delimiters ist, dass dahinter noch optionen kommen können, zB, '#......#iUg' oder '/..../iUg'.

              Die genaue Delimiter-Beschreibung ist (nur) in CIX. im ersten Absatz (Introduction),
              oder in CXIII: http://de.php.net/manual/en/ref.pcre.php.

              Im Javascript ist allerdings der / vorgeschrieben, jedoch ohne Anführungszeichen.

              Die andere regexp Version, ereg, geht ohne Delimiter.

              edit: sorry /g geht in php lt manual nicht.
              Zuletzt geändert von miximaxi; 19.04.2006, 14:53.

              Kommentar


              • #8
                Re: frage zum regulären ausdruck tutorial

                Original geschrieben von meskalin
                und wie behält man den überblick bei längeren ausdrücken.
                Ist nicht vorgesehen. Regexp sind write-only.

                Kommentar

                Lädt...
                X