Problem mit schrägen Anführungszeichen in Postings

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
testit
Mitglied
Beiträge: 234
Registriert: 04.06.2001 02:00

Problem mit schrägen Anführungszeichen in Postings

Beitrag 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
Benutzeravatar
DeepSurfer
Mitglied
Beiträge: 1337
Registriert: 23.01.2009 10:26

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

Beitrag 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)
wie einst der MCP aus Tron auf dem Bildschirm zu schreiben pflegte.
- end of communication -
greets
testit
Mitglied
Beiträge: 234
Registriert: 04.06.2001 02:00

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

Beitrag 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
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

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

Beitrag 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); 
KB:knigge
testit
Mitglied
Beiträge: 234
Registriert: 04.06.2001 02:00

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

Beitrag 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
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“