PHP clean-up eingefügt Microsoft input
Ich habe eine Website, wo Benutzer können nach Sachen (wie in Foren, Kommentare, etc) mit einem individuellen Umsetzung des TinyMCE. Viele von Ihnen wie copy & paste von Word, d.h. Ihr input kommt oft mit einer fülle von zugehörigen MS inline-Formatierung.
Ich kann nicht einfach loswerden <span whatever>
wie TinyMCE basiert auf dem span-tag für einige seiner Formatierung, und ich kann nicht (und will nicht) zwingen, sagte Benutzern für die Verwendung von TinyMCE das "Einfügen Aus Word" - Funktion (die scheint nicht zu funktionieren, dass trotzdem gut).
Wer kennt eine Bibliothek/Klasse/Funktion, die aufpassen würde das für mich? Es muss ein häufiges problem, aber ich kann nichts finden, definitiv. Ich habe mir überlegt, dass vor kurzem eine Reihe von brute-force-regexes suchen für die MS-spezifische Muster, die möglicherweise den trick tun, aber ich will nicht neu schreiben, etwas, dass vielleicht schon zur Verfügung, es sei denn, ich muss.
Auch, die Festsetzung von typografische Anführungszeichen, Gedankenstriche, etc. wäre gut. Ich habe meine eigenen Sachen, dies jetzt zu tun, aber ich würde wirklich nur gerne eine MS-filter, Sie alle zu beherrschen.
Du musst angemeldet sein, um einen Kommentar abzugeben.
HTML Purifier erstellen standardkonformes markup und filtern aus vielen möglichen Angriffen (z.B. XSS).
Schneller Säuberungsaktionen, die nicht brauchen, XSS-Filterung verwende ich die PECL-Erweiterung Sauber, die eine Bindung für die Tidy HTML - Dienstprogramm.
Wenn diese nicht helfen, ich schlage vor, Sie wechseln zu FCKEditor, welches diese Funktion hat built-in.
Die website http://word2cleanhtml.com/ macht einen guten job auf die Konvertierung von Word. Ich verwende es in PHP durch die Abwrackprämie, zu verarbeiten, dass einige legacy-HTML, und bis jetzt funktioniert es ziemlich gut (das Ergebnis ist sehr sauber
<p>, <b>
code). Natürlich wird einem externen service-es ist nicht gut, um es in der online-Verarbeitung wie dein Fall.Wenn Sie es versuchen, und es bringt viele 400-Fehler, versuchen Sie das filtern der HTML mit Sauber ersten.
In meinem Fall gab es ein Muster. Der unerwünschte Teil begannen immer mit
und endete mit einem
Also meine Lösung war es, schneiden Sie alles, was vor und nach diesem block:
In meinem Fall gut funktioniert:
Anstatt zu versuchen, Sie aus Sachen, die Sie nicht wollen, wie embedded word xml können Sie nur angeben, dürfen Sie tags.