[PHP] ereg_replace und MySql-DB



  • Hallo Leutz!

    In PHP habe ich zum Ersetzen der Sonderzeichen verschiedene Funktionen geschrieben, z.B. eine Funktion für Umlaute oder andere Sonderzeichen, wie "§", "&", ...
    Da benutze ich folgendes:

    Function remove_umlaute($string)
    {
    	$string = ereg_replace("Ü","Ue",$string);
    	return $string;
    }
    

    Nun möchte ich aber in der Datenbank (MySql) alle Sonderzeiche und Umlaute in einer Tabelle reinschreiben und dann nur noch folgendes aufrufen:

    $db = neue DB_myDB;
    $q = "select * from special_chars where type=’umlaute’";
    $db->query($q);
    while($db->next_record()){
    	$string = ereg_replace($db->f("sp_char"), $db->f("replace_char"), $string);
    }
    

    Dies funktionier aber nicht immer und nicht bei jedem Zeichen, insbesondere nicht, wenn ich folgendes ersetzen will:

    $string = ereg_replace("[àáâãäå]","a",$string);
    $string = ereg_replace("[ÀÁÂÃÄÅ]","A",$string);
    

    Kann mir vielleicht jemand verraten, was ich hier falsch mache?
    😕

    Danke im voraus!



  • Hi,
    was steht denn in deiner Tabelle? (am besten die Querryresults mal zeigen)

    MfG

    Alexander Sulfrian

    BTW: Warum machst du das nicht mit str_replace()?


Anmelden zum Antworten