Seite 1 von 1

Problem mit schrägen Anführungszeichen in Postings

Verfasst: 19.03.2011 19:27
von testit
Hallo,

weiß jemand von Euch zufällig wie ich via PHP folgende Zeichen in einem Posting entfernen kann:

„ und “

Die Zeichen entstehen beim Einlesen von Newsfeeds in ein Forum. Eigentlich sollten dort "Smart Quotes" entstehen, also schräge Anführungszeichen unten und oben.
Stattdessen erhalte ich die o.a. Symbole im Browser. Direkt von einer Shell aus mittels vi oder type eingelesen, steht dort <84> bzw. <93>

Der Feed ist als iso-8859-1-encoded angegeben. Wenn ich das richtig sehe, enthält iso-8859-1 nicht die beiden schrägen Anführungszeichen und

Ich habe schon alles mögliche an Ersetzungsvarianten auf PHP-Basis durchexerziert und bisher keinen Erfolg.

Hat jemand von Euch eine Idee?


Nette Grüße
testit

Re: Problem mit schrägen Anführungszeichen in Postings

Verfasst: 19.03.2011 22:46
von DeepSurfer
Die feed.php von phpBB ist in UTF-8 Codiert, daher die frage von wo bzw. welchen Feed liest Du ein und wie lässt du den Feed in Dein Forum einlesen zum anzeigen ? (Es geht um das Konstrukt)

Re: Problem mit schrägen Anführungszeichen in Postings

Verfasst: 19.03.2011 22:55
von testit
Hallo,

es handelt sich um einen externen Feed, der über SmiX.MODs Feed News Center v0.3.4 eingelesen wird (via curl).

Es funktionieren ausschließlich die beiden genannten Zeichen nicht.

Wenn ich das richtig sehe, handelt es sich um eine Multibytesequenz, die einfach nicht in den iso-8859-1-codierten Feed hineingehört und daher bei Einlesen und späteren submit_post (API) zu dem beschriebenen Phänomen führt.

Ich brauche folglich eine PHP-Funktion, die mir die entsprechenden (offensichtlichen UTF) Bytesequenzen löscht oder ersetzt durch bspw. normale Anführungszeichen oben.

Nette Grüße
testit

Re: Problem mit schrägen Anführungszeichen in Postings

Verfasst: 20.03.2011 00:45
von Pyramide
Wenn du die Bytefolgen der betroffenen Zeichen kennst, solltest du diese mit "\x00" und str_replace ersetzen können. Beispiel für ein Zeichen, welches als Bytefolge 3f e6 abgebildet wird:

Code: Alles auswählen

$input = ...;
$output = str_replace("\x3f\xe6", 'ersatz', $input); 

Re: Problem mit schrägen Anführungszeichen in Postings

Verfasst: 20.03.2011 08:19
von testit
Hallo Pyramide,

genau DAS war es, was ich suchte aber -warum auch immer- nicht fand.
Das eigentliche Problem an der Sache war ja "einfach" nur, die Sonderzeichen nicht, wie i.d.R. üblich, einfach DIREKT angeben zu können.

Bspw. hatte ich es auch schon erfolglos mit folgendem Konstrukt versucht:

Code: Alles auswählen

$pattern ='/[\x{C284}-\x{C294}]+/u';
$subject=preg_replace($pattern," ",$subject);
Funktionierte ebenfalls nicht!

Auch die mb_convert_encoding-Funktion brachte keinen Erfolg!

Herzlichen Dank nochmals und einen schönen Sonntag!

testit