Inpsyde\MultilingualPress\Database\WPDBTableStringReplacer::get_replacements_sql PHP Method

get_replacements_sql() private method

Returns the according SQL string for replacing the given string with the given replacement in the given columns.
private get_replacements_sql ( array $columns, string $search, string $replacement ) : string
$columns array The names of all columns to replace the string in.
$search string The string to replace.
$replacement string The replacment.
return string The SQL string for replacing the given string with the given replacement in the given columns.
    private function get_replacements_sql(array $columns, $search, $replacement)
    {
        $columns = array_filter($columns, function ($column) {
            return (bool) preg_match('~^[a-zA-Z_][a-zA-Z0-9_]*$~', $column);
        });
        $replacements_sql = array_reduce($columns, function ($sql, $column) use($search, $replacement) {
            return $this->db->prepare("{$sql}\n\t{$column} = REPLACE ({$column},%s,%s),", $search, $replacement);
        }, '');
        return substr($replacements_sql, 0, -1);
    }