Heinz Goldmann: preg_replace findet keine umlaute

Beitrag lesen

Hallo Forum,

ich habe folgende preg_replace-anweisung, die mir schwierigkeiten macht:

$finde[0] = "~[TD=([0-9]{1,})U]([0-9a-zA-Z])~i";
 $finde[1] = "/[/TDU]/";

$ersetze[1] = "<td style='background-color:#7F9FC0; color:#000066; font-size:\1px;' align='center' colspan='2'>\2";
 $ersetze[0] = "</td>";

$veriable = preg_replace($finde, $ersetze, $inhalt);

Leider werden mit dieser Anweisung keine Ümlaute erkannt.
Beispiel:

$inhalt = [TD=12U]Überschrift[/TDU]

Dabei sollte folgendes herauskommen:

<td style='background-color:#7F9FC0; color:#000066; font-size:12px;' align='center' colspan='2'>Überschrift</td>

Das tut es aber nicht, weil der Buchstabe "Ü" aus Überschrift nicht erkannt wird. Ersetze ich "Ü" durch "U" klappt die Umwandlung.

Hat jemand einen Tipp, wie das ganze aussehen muss, damit die deutschen Umlaute richtig erkannt werden?

Für Eure Mühe schonmal vielen Dank im voraus

Gruß
Heinrich