Ich frage mich, wie Sie die Sonderzeichen wie MS Word, wie M-und N-Bindestriche und geschweifte Anführungszeichen säubern?
Ich finde oft, dass ich Inhalte von Clients aus Word kopiere und in eine statische HTML-Seite einfüge, aber der Inhalt endet mit komischen Zeichen, weil die Sonderzeichen nicht in ihre korrekten ACSII-Codes konvertiert werden und daher als verstümmelter Text angezeigt werden. (Für diese grundlegenden Websites verwende ich Dreamweaver.)
Ich habe viele ähnliche Probleme gesehen, wenn Clients Inhalt aus Word in reine Textfelder (meist Textareas) kopieren. Wenn ich dies in ein PDF (über PHP) lege oder es auf der Seite erscheint, hat es auch Text verstümmelt.
Wie gehst du damit um? Gibt es einen Reinigungsservice oder ein Programm, das Sie verwenden?
In Bezug auf Clients, die kopierten / eingefügten Text aus Word in Textareas veröffentlichen:
Der sicherste Weg, um sicherzustellen, dass der Client Ihnen Text in einer bestimmten Kodierung sendet (also hoffentlich irgendeine Konvertierung von CP-1252 [oder was auch immer Word verwendet] für Sie), ist das Attribut accept-charset="..."
zu all Ihren hinzuzufügen <form>
s. Zum Beispiel:
Die meisten Browser befolgen das und stellen sicher, dass alle "Word-spezifischen" Zeichen in den entsprechenden Zeichensatz konvertiert werden, bevor sie auf Ihre Website gelangen.
Sobald ein ungültiger Text auf Ihre Website gelangt, können Sie ihn nicht mehr zuverlässig korrigieren. Es empfiehlt sich daher, alle Eingaben in jedem von Ihnen verwendeten Zeichensatz auf Gültigkeit zu überprüfen und alle Anfragen mit ungültigem Text zu verwerfen. Dies ist sogar mit accept-charset
notwendig, da es zweifellos einige Clients gibt, die es ignorieren.
Sie können preg_replace
function call verwenden, um alle Sonderzeichen von Wörtern oder anderen aus Ihrer Zeichenfolge zu entfernen
Achten Sie darauf, überall eine Kodierung anzugeben und UTF-8 zu verwenden, dann sollten diese "speziellen" Zeichen gut erhalten bleiben. Aber sobald sie eine Kodierung durchlaufen haben, die sie nicht darstellen kann, ist die Information, welches Zeichen sie ursprünglich war, verloren, so dass sie nicht repariert werden kann (außer für einige spezifische, aber wahrscheinlich sehr häufige Fälle wie Umschalten zwischen Cp1252 und ISO- 8859-1).
Stellen Sie sicher, dass Word für die Verwendung von UTF-8 für "Speichern unter ..." HTML konfiguriert ist.
Dies ist in Optionen & gt; Wortoptionen & gt; Erweitert & gt; Weboptionen & gt; Codierung
Wenn es sich um eine Word-Datei handelt, die nur aus Text besteht (dh keine Grafiken, Tabellen usw.), können Sie versuchen, als HTML aus Word zu kopieren, den resultierenden HTML-Code in Dreamweaver in Ihr Dokument einzufügen und dann Dreamweaver zu verwenden. Word-HTML-Funktion bereinigen (im Menü Befehl).
Alternativ können Sie meinen HTML-Code korrigieren, obwohl ich es nicht persönlich mit Word-Text versucht habe, daher können die Ergebnisse variieren.