Nicht zuzuordnende Zeichen entfernen

Hallo Leute,

hier mal das Ergebnis einer Abfrage an den Enigma2-Receiver:

<e2servicelist><e2service><e2servicereference>1:0:1:23:F:85:C00000:0:0:0:</e2servicereference><e2servicename>†TNT Film‡ (TCM)</e2servicename></e2service></e2servicelist>

Die Zeichen die beim TV-Sendernamen angezeigt werden, aber ich schon mit diversen PHP-Funktionen versucht zu entfernen, leider war ich daher nicht erfolgreich. Will ich den aus dem XML-Format herausgelesenen Sendernamen einer IPS-String-Variablen zuordnen, gibt es eine Fehlermeldung…

Was sind das für Zeichen? Wie bekomme ich sie per Funktion weg?

Joachim

P.S.: Die undifinierbaren Zeichen werden hier im Forum komischerweise anders dargestellt, als hier bei mir wenn ich sie im Forum einfüge oder ich sie im Browser sehen…

Welcher Funktionen hast du denn schon ausprobiert.
XML ist idr UTF8.
Sollte auch in der ersten Zeile stehen.
Somit solltest du mit Utf8_decode schon mal etwas weiter kommen.
Michael

Hallo Joachim,

eventuell könntest du auch mit preg_match arbeiten und als erlaubte Zeichen nur a-z, A-Z, 0-9, … angeben!?

Oder die Senderliste vom Enigma mal überarbeiten, denn ich habe nirgends so spezielle Zeichen :confused:

Grüße,
Chris

Hallo Chris und Michael,

vielen Dank erst einmal für die Antworten!

Ich habe so ziemlich alles probiert was bei PHP irgendwie auf decode oder encode endet…

utf8_Decode war zwar bisher nicht dabei, hilft aber leider auch nicht. Mit Preg_match hatte ich es auch schon versucht, in er Annahme das es sich um Steuerzeichen handelt.

Wenn ich so die Programme durchschalte habe ich bei diversen Kanälen irgendwelche komischen Zeichen. Keine Ahnung woher die stammen…

Joachim

…ich habe es jetzt mal so umgesetzt:

$text= preg_replace("/[^a-zA-Z0-9\- ()]/","",$text);

Nach erster Durchsicht sind alle in Sendernamen enthaltenen Buchstaben, Zahlen und Sonderzeichen vorhanden…

Vielen Dank für den Denkansatz!

Joachim