Software Frage PHP-Hilfe zu preg_replace benötigt

Dieses Thema im Forum "Tech & FAQ Forum" wurde erstellt von galaxy500, 22 November 2019.

  1. galaxy500

    galaxy500 Korinthenkacker!

    Registriert seit:
    7 Januar 2002
    Beiträge:
    1.157
    Moin!

    Ich habe bisher (bis php 5.3.0) u.a. folgendes in meiner wp-config stehen gehabt:

    /**
    * WordPress Datenbanktabellen-Präfix
    */

    $table_prefix = ereg_replace('^(www\.)', '', $_SERVER['HTTP_HOST']);

    $table_prefix = ereg_replace('\.', '', $table_prefix);

    $table_prefix = ereg_replace('\-','', $table_prefix);

    $table_prefix = $table_prefix . '_';

    Das funktionierte >10 Jahre problemlos. In Hochzeiten
    konnte ich damit 100 Domains mit einer(!) normalen
    "angepassten" WP-Installation managen.
    Seit 5.3.0 funktioniert ereg_replace nun nicht mehr,
    stattdessen soll man jetzt preg_replace() nutzen.

    Meine PHP-Kenntnisse sind leider nur rudimentär,
    eine Korrektur von ereg -> preg hat leider nicht
    zum Erfolg geführt, sondern weitere Fehlermel-
    dungen produziert.

    Weiss jemand Abhilfe?

    Sauber bleiben!
  2. dr_tommi

    dr_tommi alter Oldie

    Registriert seit:
    26 April 2001
    Beiträge:
    12.999
    Wenn ich das richtig verstanden habe willst du die Zeichenkette "www." am Anfang sowie alle "." und "-" von der übergebenen URL entfernen.
    Die Syntax bei preg_replace ist nur etwas anders.
    Versuche es mal so:
    Code:
    /**
    * WordPress Datenbanktabellen-Präfix
    */
    $table_prefix = preg_replace('/^www\./', '', $_SERVER['HTTP_HOST']);
    $table_prefix = preg_replace('/\./', '', $table_prefix);
    $table_prefix = preg_replace('/\-/','', $table_prefix);
    $table_prefix = $table_prefix . '_';
    So sollte aus "www.test-server.de" "testserverde_" werden.
    Getestet unter PHP 7.2.9
    Zuletzt bearbeitet: 23 November 2019
    galaxy500 und ibinsfei sagen Danke.
  3. galaxy500

    galaxy500 Korinthenkacker!

    Registriert seit:
    7 Januar 2002
    Beiträge:
    1.157
    Haut wunderbar hin.

    DANKE, DANKE, DANKE!

    Sauber bleiben!