strtr-Frage

PHP, Ajax, CSS, HTML, Javascript
Eben für die wirklich Harten, die alles selber machen.
Antworten
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

strtr-Frage

Beitrag von Holger »

Hi, ich versuche die schwedischen Umlaute für einen RSS-Feed mit strtr() zu ersetzen.

Code: Alles auswählen

$find = "ÀÁÂÃÅÄäàáâãåÒÓÔÕØÖöòóôõøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛùúûÿÑñ";
$replace = "AAAAAAaaaaaaOOOOOOooooooEEEEeeeeCcIIIIiiiiUUUuuuyNn";
$title = strtr($title,$find,$replace);
$rss_desc = strtr($rss_desc,$find,$replace);
Leider ist das Ergebnis trotzdem nicht zufriedenstellend, weil
ä mit nO ersetzt wird und ö mit nI und å mit no

Ausgeworfen wird das mit

Code: Alles auswählen

print ("<title>" . htmlentities($title) . "</title>\n");
print ("<description>". htmlentities($rss_desc) . "</description>\n");
Was mache ich falsch?
Liegt der Fehler an htmlentities?

Am liebsten würde ich natürlich die Umlaute anzeigen, aber das klappt nicht ...
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: strtr-Frage

Beitrag von oxpus »

Dazu stellt sich doch zunächst die Frage, wie die Inhalte für $title und $rss_desc kodiert sind.
Wie schaut denn der Quelltext des echo() dieser beiden Variablen aus?
Wenn dort die Zeichen, die du ersetzen willst, bereits kodiert sind, z. B. als HTML-Tags, dann musst du auch diese so ersetzen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Holger
Beiträge: 2253
Registriert: Mi 17.Mär, 2004 18:09

Re: strtr-Frage

Beitrag von Holger »

Hallo Karsten,

danke für die Antwort.
Im Netz habe ich diese Lösung gefunden:

Code: Alles auswählen

   $array = array ( 'ä' => '&auml;', 'ö' => '&ouml;', 'å' => '&aring;', 'Ö' => '&Ouml;', 'Ä' => '&Auml;', 'Å' => '&Aring;' );
   $title = strtr($title, $array );
   $rss_desc = strtr($rss_desc, $array );
Das klappt gut.


Komischerweise bekomme ich nicht den Titel ausgeworfen, sondern die erste Zeile der Discription, aber das ist eine andere Geschichte ...
Real men don’t back up, they learn data recovery. ;-)
http://www.mysqldumper.de
http://www.mysqldumper.se
Benutzeravatar
oxpus
Administrator
Beiträge: 28737
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Re: strtr-Frage

Beitrag von oxpus »

Ah ja. Dann lag es an der Darstellung, nicht an dem Input.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten