1. Herzlich willkommen bei WPDE.org, dem grössten und ältesten deutschsprachigen Community-Forum rund um das Thema WordPress. Du musst angemeldet oder registriert sein, um Beiträge verfassen zu können.
    Information ausblenden

pre_replace /e deprecated bei PHP 5.6

Dieses Thema im Forum "Installation" wurde erstellt von wishbone-design, 2. Januar 2019.

  1. wishbone-design

    Registriert seit:
    2. Januar 2019
    Beiträge:
    5
    Zustimmungen:
    0
    Hallo und gutes Neues,
    Ich habe ein uraltes wordpress (2.0), muss aber die PHP-Version aktualisieren wg provider.
    Bei upgrade auf PHP 5.6 kommt die Fehlermeldung:
    Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /kunden/xxx/webseiten/wp-includes/functions-formatting.php on line 76
    Dort steht:
    $pee = preg_replace('!(<pre.*?>)(.*?)</pre>!ise', " stripslashes('$1') . stripslashes(clean_pre('$2')) . '</pre>' ", $pee);​
    Suche ergab, dass man eine callback-Funktion einarbeiten muss. Das kann ich nicht. Vielleicht hat das ja jemand schon mal gefixed?
    Auf dieser Seite steht der Weg, aber da ich kein PHP kann, kann ich es an meine Situation nicht anpassen:
    https://www.ryadel.com/en/php-fix-warning-preg_replace-e-modifier-no-longer-supported-error-php7/
    Vielen Dank für Hilfe!
     
  2. Henk1060

    Henk1060 Well-Known Member

    Registriert seit:
    4. September 2014
    Beiträge:
    3.927
    Zustimmungen:
    349
    hy,
    erstelle mal ein backup.
    und mache schritt für schritt ein update.
    auch für dein theme und plugins.

    nur wordpress zu fixen macht keinen sinn, da früher oder später auch problem mit den plugins und Theme enstehen werden.
     
  3. wishbone-design

    Registriert seit:
    2. Januar 2019
    Beiträge:
    5
    Zustimmungen:
    0
    danke Henk, aber das will ich vermeiden. Die Seite soll eigentlich nur noch stehen, ganz selten wird mal was eingepflegt. Wordpress upgrade ist mir zu aufwendig. Für PHP 5.6 kommt nur dieser fehler, da muss man nur diese eine funktion auf callback ummodeln, und das kann ich nciht...
     
  4. JABA-Hosting

    JABA-Hosting Well-Known Member

    Registriert seit:
    29. März 2016
    Beiträge:
    2.988
    Zustimmungen:
    198
    Die meisten Hoster schalten aber schon PHP 5.6 ab.

    Du musst eh bald auf PHP7 hoch und da wird so einiges nicht laufen.

    Geschweige den Sicherheitsaspekt.
     
  5. wishbone-design

    Registriert seit:
    2. Januar 2019
    Beiträge:
    5
    Zustimmungen:
    0
    meiner noch nicht... bitte nur diese eine Zeile umformen!
     
  6. Sailor56

    Sailor56 Well-Known Member

    Registriert seit:
    13. Juni 2017
    Beiträge:
    794
    Zustimmungen:
    104
    .. nicht nur das, viele verlangen dann auch richtiges Geld für den 'extended support'
     
  7. wishbone-design

    Registriert seit:
    2. Januar 2019
    Beiträge:
    5
    Zustimmungen:
    0
    meiner nicht...
     
  8. wishbone-design

    Registriert seit:
    2. Januar 2019
    Beiträge:
    5
    Zustimmungen:
    0
    hier die Lösung (h/t Dion Designs)
    $pee = preg_replace_callback('!(<pre.*?>)(.*?)</pre>!is', function($matches) {
    return $matches[1] . clean_pre($matches[2]) . '</pre>';
    }, $pee);
     
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden