Copy & Past aus Word to Textfeld

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Copy & Past aus Word to Textfeld

    Hallo Leute,

    ich habe ein Textfeld welches mit

    Quellcode

    1. preg_match(#^[\wäÄöÖüÜß\-\:\.\"\€\@\+\§\$\%\&\/\_\`\´\,\;\?\#\*\=\(\)\[\]\!\s]+$#i,string)


    überprüft wird. Nun möchte der Anwender gerne aus Word Texte rauskopieren und in das Textfeld einfügen. Dies führt dann zu Problemen weil Word komisch Trennzeichen und sonstigen Müll mit übergibt. Wie kann man den Text davon säubern? Wenn das nicht geht wie muss der Reguläre Ausdruck aussehen das alle erlaubt ist, was mir aber nicht so gut gefallen würde.

    Habe schon versucht das in UTF-8 Format zu bringen, leider hat das nichts gebracht.

    Quellcode

    1. mb_convert_encoding($string,"UTF-8", "iso-8859-1")


    Gruß
    Stephan
  • Habe jetzt mal die Zeichen hinzugefügt. Nun geht es, aber die Zeichen sind ja im Text und sehen scheiße aus. Aber damit müssten die User zurecht kommen :)

    Nun weiß ich leider nicht welche Zeichen Word noch so ausspuckt in Zukunft. Deswegen wäre mir es lieb ein Regulären Ausdruck zunehmen der einfach alles erlaubt, oder ich muss für das Textfeld die preg_match funktion rausnehmen.

    #^[\wäÄöÖüÜß\-\:\.\"\€\@\¬\–\“ \„\+\§\$\%\&\/\_\`\´\,\;\?\#\*\=\(\)\[\]\!\s]+$#i

    Wie benutzt man Word-Plugin ?
    Bilder
    • forum_test.jpg

      31,48 kB, 495×255, 264 mal angesehen
  • Das sind ja komische Zeichen....
    Habe jetzt einfach mal ein paar Funktionen aus der TinyMCE Datei genommen.... ist halt JavaScript.

    Quellcode

    1. /**
    2. * cleanup word content
    3. * @param content
    4. */
    5. function word(content) {
    6. var bull = String.fromCharCode(8226);
    7. var middot = String.fromCharCode(183);
    8. var cb;
    9. content = content.replace(new RegExp('<p class=MsoHeading.*?>(.*?)<\/p>', 'gi'), '<p><b>$1</b></p>');
    10. content = content.replace(new RegExp('tab-stops: list [0-9]+.0pt">', 'gi'), '">' + "--list--");
    11. content = content.replace(new RegExp(bull + "(.*?)<BR>", "gi"), "<p>" + middot + "$1</p>");
    12. content = content.replace(new RegExp('<SPAN style="mso-list: Ignore">', 'gi'), "<span>" + bull); // Covert to bull list
    13. content = content.replace(/<o:p><\/o:p>/gi, "");
    14. content = content.replace(new RegExp('<br style="page-break-before: always;.*>', 'gi'), '-- page break --'); // Replace pagebreaks
    15. content = content.replace(new RegExp('<(!--)([^>]*)(--)>', 'g'), ""); // Word comments
    16. content = content.replace(/<\/?span[^>]*>/gi, "");
    17. content = content.replace(new RegExp('<(\\w[^>]*) style="([^"]*)"([^>]*)', 'gi'), "<$1$3");
    18. content = content.replace(/<\/?font[^>]*>/gi, "");
    19. content = content.replace(/<(\w[^>]*) class=([^ |>]*)([^>]*)/gi, "<$1$3");
    20. content = content.replace(/<(\w[^>]*) lang=([^ |>]*)([^>]*)/gi, "<$1$3");
    21. content = content.replace(/<\\?\?xml[^>]*>/gi, "");
    22. content = content.replace(/<\/?\w+:[^>]*>/gi, "");
    23. content = content.replace(/-- page break --\s*<p>&nbsp;<\/p>/gi, ""); // Remove pagebreaks
    24. content = content.replace(/-- page break --/gi, ""); // Remove pagebreaks
    25. content = content.replace(/<h[1-6]>&nbsp;<\/h[1-6]>/gi, '<p>&nbsp;&nbsp;</p>');
    26. content = content.replace(/<h[1-6]>/gi, '<p><b>');
    27. content = content.replace(/<\/h[1-6]>/gi, '</b></p>');
    28. content = content.replace(/<b>&nbsp;<\/b>/gi, '<b>&nbsp;&nbsp;</b>');
    29. content = content.replace(/^(&nbsp;)*/gi, '');
    30. content = content.replace(/--list--/gi, ""); // Remove --list--
    31. return content;
    32. }
    Alles anzeigen