ö -> oe umwandeln

Sebigf

Erfahrenes Mitglied
Hallo zusammen!

Ich möchte gerne aus den Umlauten jeweils ae, oe, ue machen.

Bisher habe ich es so gelöst:

PHP:
    $string = preg_replace("/[^0-9a-zA-Z]/","",$string);

Wie sollte ich es am besten anstellen ?

Danke
 
Hallo

teste einmal so:

PHP:
<?

    $vari = 'Wäre ich ein Holzfäller, so müßte ich Bäume fällen.';

    $array_1 = array('ä', 'ü', 'ß');
    $array_2 = array('ae', 'ue', 'ss');

    echo str_replace($array_1, $array_2, $vari);

?>
Es gibt aber ausreichend Beiträge zu diesem Thema hier!

Gruß

RS9999:)
 
Danke für die schnelle Antwort !

RS9999 hat gesagt.:
Es gibt aber ausreichend Beiträge zu diesem Thema hier!

Japp, ist mir bekannt. Mir ging es auch eigentlich um ein "ausschliessen" dieser Regel aus meinem gegebenen Code.

Aber ich habs einfach davor gesetzt :)

Danke
 
Hallo,

dann machs so, entferne das "^" aus der Klammer, dann werden keine Umlaute mehr angezeigt!

PHP:
$string = preg_replace("/[0-9a-zA-Z]/","",$string);

Gruß

RS9999
 
Zuletzt bearbeitet:
RS9999 hat gesagt.:
Hallo,

dann machs so, entferne das "^" aus der Klammer, dann werden keine Umlaute mehr angezeigt!

PHP:
$string = preg_replace("/[0-9a-zA-Z]/","",$string);
Bist du dir da sicher? Meiner Meinung nach entfernt diese Codezeile alle Buchstaben des lateinischen Alphabetes sowie sämtliche Ziffern aus einer Zeichenkette.
 
Hallo,

erst lesen, dann antworten.
Sorry, richtig wäre dieser CODE:

PHP:
<?

    $vari = 'Wäre ich ein Holzfäller, so müßte ich Bäume fällen.';
    $umlaute =array("/ä/","/ü/","/ö/");
    $ersetze= array("ae","ue","oe");
    
    echo preg_replace($umlaute,$ersetze,$vari);
    
?>
Gruß

RS9999:)
 
Zuletzt bearbeitet:
Reguläre Ausdrücke sind gar nicht nötig:
PHP:
<?php

	$replacePairs = array(
		'ä' => 'ae',
		'ö' => 'oe',
		'ü' => 'ue'
	);
	echo strtr($string, $replacePairs);

?>
 
Zurück