- foreach ($configFile as $line_num => $line) {
- switch (substr($line,0,16)) {
- case "define('DB_NAME'":
- $configFile[$line_num] = str_replace("database_name_here", $dbname, $line);
- break;
- case "define('DB_USER'":
- $configFile[$line_num] = str_replace("'username_here'", "'$uname'", $line);
- break;
- case "define('DB_PASSW":
- $configFile[$line_num] = str_replace("'password_here'", "'$passwrd'", $line);
- break;
- case "define('DB_HOST'":
- $configFile[$line_num] = str_replace("localhost", $dbhost, $line);
- break;
- case '$table_prefix =':
- $configFile[$line_num] = str_replace('wp_', $prefix, $line);
+ if ( ! preg_match( '/^define\(\'([A-Z_]+)\',([ ]+)/', $line, $match ) )
+ continue;
+
+ $constant = $match[1];
+ $padding = $match[2];
+
+ switch ( $constant ) {
+ case 'DB_NAME' :
+ case 'DB_USER' :
+ case 'DB_PASSWORD' :
+ case 'DB_HOST' :
+ $config_file[ $line_num ] = "define('" . $constant . "'," . $padding . "'" . addcslashes( constant( $constant ), "\\'" ) . "');\r\n";