Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP5.3: ereg() vs. preg_match()

Einklappen

Neue Werbung 2019

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

  • PHP5.3: ereg() vs. preg_match()

    Servus Forum,

    ich hab einen ganzen Haufen Scripte, in denen die veralteten Funktionen "ereg()" und "ereg_replace()" verwendet werden. Und zwar an ziemlich v i e l e n Stellen..

    Muss also überall mit "preg_match()" bzw. "preg_replace()" und der entsprechenden Syntax ausgetauscht werden.

    Hab wenig Lust das alles händisch zu korrigieren und würd das gern mit nem Script automatisieren.
    Kriegt man diese Code-Korrektur zuverlässig mit ner regexp hin?

    Hat evtl. jemand ein Script gebastelt, dass das kann?

    merci vielmals!

  • #2
    so schwer kann das nun nicht sein, für Fortgeschrittene:

    int preg_match ( string $pattern , string $subject [, array &$matches] )
    int ereg ( string $pattern , string $string [, array &$regs ] )

    Kommentar


    • #3
      Zitat von moma Beitrag anzeigen
      so schwer kann das nun nicht sein, für Fortgeschrittene:

      int preg_match ( string $pattern , string $subject [, array &$matches] )
      int ereg ( string $pattern , string $string [, array &$regs ] )
      Was willst du damit sagen?

      Schau dir mal die Doku dazu an, dann kannst du sehen, dass es nicht ganz so leicht ist.

      Kommentar


      • #4
        (..) dass es nicht ganz so leicht ist.
        wenn es den Anschein hatte, man müsste nur die Funktionen austauschen, so ganz einfach ist es wirklich nicht. das meinte ich auch zu keiner Zeit.

        Muss also überall mit "preg_match()" bzw. "preg_replace()" und der entsprechenden Syntax ausgetauscht werden.
        Je nach Programmcode könnte da durchaus mehr als nur die Syntax ausgetauscht werden müssen. Ein vergleichen der Ergebnisse von preg_match und ereg sollte die "v i e l e n Stellen" allerdings deutlich dezimieren.

        Kommentar


        • #5
          Das ist, je nach verwenden Ausdrücken, aber nicht unbedingt einfach so per RegExp zu ersetzen.
          Die einzige sichere Methode ist, alle per Hand durchzugehen. PERE und PCRE unterscheiden sich dann teilweise doch zu sehr.

          Kommentar


          • #6
            Ich glaub dass es auch für Fortgeschrittene ne ziemlich harte Nuss is, dafür ne vernünftig funktionierende RegExp zu tippen.

            "Dezimieren" is gut!

            Meine Lösung daher:
            Viele eregs tauschen immer die gleichen Strings aus.
            Kann ich also gefahrlos automatisch ersetzen und damit die "vielen Stellen" deutlich dezimieren.

            Die Komplizierten mach ich zu Fuß.

            Bedankt!

            Kommentar


            • #7
              Mal ganz ehrlich - wieviele reg Expr. hat denn Deine Anwendung? Da scheint mir ja konzeptionell schon etwas nicht zu stimmen?!

              Kommentar


              • #8
                Du hast ganz genau recht!
                Das Ding ist ein in zehn Jahren gewachsenes System, das dringend einer Komplettsanierung bedarf.
                Aber es ist nicht mein Job das Ganze neu zu schreiben, ich muss bugfixen...

                Kommentar


                • #9
                  Na dann viel Spaß!
                  merci vielmals!

                  Kommentar

                  Lädt...
                  X