Ankündigung

Einklappen
Keine Ankündigung bisher.

ereg_replace -> php7

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

  • ereg_replace -> php7

    Hallo,

    nachdem mein HP-Anbieter auf php7 umgestellt hat funktioniert mein script nicht mehr.

    Ich verstehe den neuen Befehl preg_replace im Zusammenhang innerhalb meines Scriptes (an zwei Stellen, rot markiert) nicht so ganz.

    Vielleicht kann da einer kurz drüberschauen? Wäre nett, danke.



    <?php
    //online user auslesen
    $daten = "../anzeige.txt";
    $time = time();
    $ip = getenv("REMOTE_ADDR");
    $ablaufzeit = $time - "30";
    $pruefung = @file($daten);

    while (list ($line_num, $line) = @each ($pruefung)) {
    $zeiten = explode("&&",$line);
    if($zeiten[0] <= $ablaufzeit) {
    $fp = fopen( "$daten", "r" );
    $contents = fread($fp, filesize($daten));
    fclose($fp);
    $line=quotemeta($line);
    $string2 = "";
    $replace = ereg_replace($line, $string2, $contents);
    $fh=fopen($daten, "w");
    @flock($fp,2);
    fputs($fh, $replace);
    @flock($fp,3);
    fclose($fh);
    }
    }
    $ippruefung = @file($daten);
    while (list ($line_num, $line) = @each ($ippruefung)) {
    $ips = explode("&&",$line);
    if($ips[1] == $ip) {
    $fp = fopen( "$daten", "r" );
    $contents = fread($fp, filesize($daten));
    fclose($fp);
    $line=quotemeta($line);
    $string2 = "";
    $replace = ereg_replace($line, $string2, $contents);
    $fh=fopen($daten, "w");
    @flock($fp,2);
    fputs($fh, $replace);
    @flock($fp,3);
    fclose($fh);
    }
    }
    ...




    LG
    Hilei

  • #2
    Hallo,

    selber habe ich noch kein altes PHP-Script umgeschrieben, aber hier mal ein Link dazu,siehe

    In PHP7 wurde die ereg-Befehle für z.B. das Suchen und Ersetzen mittels regulärer Ausdrücke entfernt. Stattdessen sollen die preg_*-Befehle in PHP7 genutzt werden.

    Der Unterschied zwischen den ereg-Befehlen und den preg-Befehlen liegt im Start und Endzeichen:

    PHP-Code:
    <?php
    ereg
    ('hello'$str);
    preg_match('/hello/'$str);

    Bei ereg konnte der reguläre Ausdruck unmittelbar geschrieben werden. Bei den preg-Befehlen muss ein spezielles Zeichen zu Beginn und Ende des regulären Ausdrucks stehen. Im obigen Beispiel muss der reguläre Ausdrück durch ein / zu Beginn und Ende ergänzt werden.

    Quelle: https://www.php-einfach.de/2019/02/m...eicht-gemacht/
    Oder einfach gesagt statt ereg_replace mit preg-replace versuchen, siehe

    https://www.php.net/manual/de/function.preg-replace.php

    daniel5959
    Zuletzt geändert von daniel5959; 27.01.2020, 18:34.
    FindeLinks.de - Kurzinfos mit Linkempfehlung
    Homepage-FAQs.de - bleibt als Archiv online

    Kommentar


    • #3
      Hallo Daniel,

      das hatte ich schon probiert. Funktioniert leider nicht nur den Befehl zu ersetzen oder alles mit einem Hochkomma zu versehen.

      Gibt es einen alternativen Befehl?

      LG Hilei

      Kommentar


      • #4
        Was steht denn in der Variable $line? Da drin ist ja der pattern. Der muss geändert bzw. angepasst werden

        Kommentar


        • #5
          Hallo Testie,

          das steht ja oben im Quelltext:

          $line=quotemeta($line);

          Deshalb weiß ich ja nicht weiter.

          Gruss Hilei
          Zuletzt geändert von hilei; 28.01.2020, 05:43.

          Kommentar


          • #6
            Hallo,

            wenn ich mich nicht irre, dann stammen die Inhalt von $line von hier

            PHP-Code:
            $daten "../anzeige.txt"

            Leider habe ich mich 2006 schon aus meiner kleinen PHP-Programmierung zurückgezogen. Evtl. im Script in den Zeilen die Variablen mit echo oder print_r ausgeben lassen, um zu sehen wie sie aussehen.

            daniel5959
            Zuletzt geändert von daniel5959; 28.01.2020, 06:04.
            FindeLinks.de - Kurzinfos mit Linkempfehlung
            Homepage-FAQs.de - bleibt als Archiv online

            Kommentar


            • #7
              Nachtrag

              Im Link >> https://www.php-einfach.de/2019/02/m...eicht-gemacht/

              gibt es auch diesen Hinweis

              Wer die ereg-Befehle nicht per Hand anpassen will, für den empfiehlt sich ebenfalls ein Wrapper: Wrapper for PHP ereg extension

              Zu Beginn eurer Scripte müsst ihr nur
              1 require_once('ereg-wrapper.php');

              einfügen und eure Anwendung kann weiterhin die veralteten ereg-Befehle nutzen.
              FindeLinks.de - Kurzinfos mit Linkempfehlung
              Homepage-FAQs.de - bleibt als Archiv online

              Kommentar


              • #8
                Hallo Daniel,

                wo kann ich die Datei 'ereg-wrapper.php' herunterladen?

                Habs gefunden !

                Ich teste es mal.

                Gruss Hilei
                Zuletzt geändert von hilei; 28.01.2020, 09:21.

                Kommentar


                • #9
                  Zitat von hilei Beitrag anzeigen
                  Hallo Testie,

                  das steht ja oben im Quelltext:

                  $line=quotemeta($line);

                  Deshalb weiß ich ja nicht weiter.

                  Gruss Hilei
                  Ahhhh, jetzt wo du es sagst. Stimmt ja... da oben stehts ja...

                  Null Erfahrung mit Programmierung und dann auch noch so frech. Bin raus.

                  Kommentar


                  • #10
                    Zitat von hilei Beitrag anzeigen
                    Habs gefunden !

                    Ich teste es mal.
                    Handelt es sich denn nur um einen Script?
                    https://arnego2.com <Webseiten, Umbau ab €80 und einiges mehr>

                    Kommentar

                    homepage-forum.de - Hilfe für Webmaster! Statistiken

                    Einklappen

                    Themen: 56.612   Beiträge: 428.144   Mitglieder: 28.213   Aktive Mitglieder: 53
                    Willkommen an unser neuestes Mitglied, Numuzem.

                    Online-Benutzer

                    Einklappen

                    133 Benutzer sind jetzt online. Registrierte Benutzer: 3, Gäste: 130.

                    Mit 3.502 Benutzern waren am 23.01.2020 um 17:20 die meisten Benutzer gleichzeitig online.

                    Die neuesten Themen

                    Einklappen

                    Die neuesten Beiträge

                    Einklappen

                    • FBA
                      Wordpress Online Shop
                      Hallo zusammen,

                      Ich bin auf der Suche wie man in Wordpress einen Online Shop (egal welcher Woocommerce, ... ) Konfigurator bauen kann, mit welchen der Kunde selbst durch Module eine Webseite zusammen setzen könnte. Siehe Bild. Die Module sollen als Produkte angelegt werden können. Als...
                      26.03.2020, 16:02
                    • Localfu
                      Antwort auf Wordpress Online Shop
                      FBA
                      Hi FBA, ich empfehle niemmanden mit Clickbuild einen Wordpress-Shop zu basteln. Entweder man macht es richtig mit einer Shopware mit fertigen kaubaren Layouts oder man verwendet ein Baukastensystem-Shop eine großen Anbieters. Damit bist auf der sicheren Seite. Alles andere ist Müll und...
                      Gestern, 13:15
                    • Hithull
                      vertikale Linien
                      Guten Morgen liebe Gemeinde,



                      seit Stunden versuche ich 3 gleichgroße Spalten durch 2 vertikale Linien zu erstellen und bekomme es einfach nicht hin.
                      Kann mir jemand mal erklären wie das geht? Ich hab schon so einiges versucht z.B mit margin, width usw. eine Linie...
                      27.03.2020, 06:58
                    • Sempervivum
                      Antwort auf vertikale Linien
                      Keine Sorge, das geht auch einfacher. Hier kannst Du ablesen, wie Du drei Spalten mit Linien dazwischen erzeugen kannst:
                      https://jsfiddle.net/Sempervivum/ds06rh4k/1/
                      Wenn der Text durchgehend sein soll und sich automatisch gleichmäßig auf die Container verteilen, musst Du jedoch das Verfahren...
                      Gestern, 07:46
                    • Hithull
                      Antwort auf vertikale Linien
                      ...
                      27.03.2020, 23:01
                    • Hithull
                      Antwort auf vertikale Linien
                      Ich hab eigentlich gedacht, ich wäre auf einem guten Weg. Das hast du aber so eben zerstört...
                      27.03.2020, 23:00
                    • Hithull
                      Antwort auf vertikale Linien
                      MrMurphy


                      Wow, vielen Dank für den Code ich werde ihn gleich einmal testen.
                      Das ist definitiv viel zu hoch für mich .
                      27.03.2020, 22:57
                    • FBA
                      Antwort auf Wordpress Online Shop
                      Ne damit lässt sich sowas nicht umsetzen. Bin eher auf der suche nach nem Tipp für ein gutes Framework auf dem man einen Builder fürs Frontend bauen kann. Und wenns eins gibt, das noch die Option hat einen Shop gut einzubinden wäre das mich mich Klasse
                      27.03.2020, 19:11
                    • MrMurphy
                      Antwort auf vertikale Linien
                      Das kommt auf den Inhalt an.

                      Wenn es sich um einen Text handelt, der in drei Spalten angezeigt werden soll ist Spaltenlayout mit Multicolumn das Mittel der Wahl.

                      Sollen die Spalten unabhängige Inhalte enthalten Flexbox oder CSS-Grid.

                      Was in die Seite soll weißt...
                      27.03.2020, 16:00
                    • Hithull
                      Antwort auf vertikale Linien
                      MrMurphy

                      Das die Linien durch die Border Anweisung erzeigt werden weiss ich ja bereits. Hab ich auch so in meinem code gemacht. Wie krieg ich denn jetzt genau 3 gleich große Spalten hin, die alle die selbe Breite haben?



                      Lg
                      27.03.2020, 15:34
                    Lädt...
                    X