preg_replace findet keine umlaute
Heinz Goldmann
- php
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
Moin!
$finde[0] = "~[TD=([0-9]{1,})U]([0-9a-zA-Z])~i";
$finde[0] = "~[TD=([0-9]{1,})U]([0-9a-zA-ZäüößÄÜÖ])~i";
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hallo ..
$finde[0] = "~[TD=([0-9]{1,})U]([0-9a-zA-Z])~i";
$finde[0] = "~[TD=([0-9]{1,})U]([0-9a-zA-ZäüößÄÜÖ])~i";
Sorry, hätte ich wohl dazuschreiben müssen: Dererlei Versuche habe ich schon gemacht. Leider klappt das auch nicht.
Trotzdem Danke für den Tipp!
Gruß
Heinrich
Moin!
Hallo ..
Sorry, hätte ich wohl dazuschreiben müssen: Dererlei Versuche habe ich schon gemacht. Leider klappt das auch nicht.
Ok. Versuchs mal mit :$finde[0] = "~[TD=([0-9]{1,})U]([0-9a-zA-Z&;])~i";
Falls die Umlaute schon in htmlentities umgewandelt sind....
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Hi,
Ok. Versuchs mal mit :$finde[0] = "~[TD=([0-9]{1,})U]([0-9a-zA-Z&;])~i";
Du bist ein Schatz :))
Falls die Umlaute schon in htmlentities umgewandelt sind....
Das wird es gewesen sein. Bedanke mich vielmals für Deine Hilfe!!
Gruß
Heinrich
Hallo,
schreibt doch lieber
(.*) als ([0-9a-zA-Z])
Dann erkennt er alle Zeichen, und fügt diese dann dort ein.
MFG
Andavos
Hallo Andavos,
schreibt doch lieber
(.*) als ([0-9a-zA-Z])
ggf. hinter dem * noch ein ?, um den Ausdruck auf "ungierig" zu schalten (siehe http://selfhtml.teamone.de/cgiperl/sprache/regexpr.htm#gierig_genuegsam).
Grüße aus Nürnberg
Tobias