Software Frage PHP-Hilfe zu preg_replace benötigt

galaxy500

Korinthenkacker!
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!
 

dr_tommi

alter Oldie
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:
Oben Unten