Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Paste from MS Word into Textarea

I'm using https://github.com/akzhan/jwysiwyg/ and i want to implement pasting from Word, but I'm not sure what to look for and how to handle it. Im more looking for a regex pattern or a list of characters to catch and what to replace them with.

Ideas?

like image 994
Oscar Godson Avatar asked Dec 02 '10 07:12

Oscar Godson


People also ask

How do you paste into a text box?

Press Ctrl+C. Note: Make sure the pointer is on the border of the text box, not inside it. If the pointer is inside, pressing Ctrl+C will copy the text, not the text box. Select a location and press Ctrl+V to paste the text box.

How do I copy just the text from a Word document?

Switch to your Microsoft Word document, highlight the text you want to copy, and choose Edit > Copy from the menu bar.

How do I insert textarea in Word?

Go to Insert > Text Box. Click in your file where you'd like to insert the text box, hold your mouse button down, then drag to draw the text box the size that you want. After you've drawn the text box click inside it to add text.

How do you copy text attributes and apply it to other text?

Select the text with the formatting you want to copy. Select characters only (such as a word or words) if you want to copy character formatting. Select an entire paragraph if you want to copy character and paragraph formatting. Press Ctrl + Shift + C.


1 Answers

I ended up using this:

// Replaces commonly-used Windows 1252 encoded chars that do not exist in ASCII or ISO-8859-1 with ISO-8859-1 cognates.
var replaceWordChars = function(text) {
    var s = text;
    // smart single quotes and apostrophe
    s = s.replace(/[\u2018|\u2019|\u201A]/g, "\'");
    // smart double quotes
    s = s.replace(/[\u201C|\u201D|\u201E]/g, "\"");
    // ellipsis
    s = s.replace(/\u2026/g, "...");
    // dashes
    s = s.replace(/[\u2013|\u2014]/g, "-");
    // circumflex
    s = s.replace(/\u02C6/g, "^");
    // open angle bracket
    s = s.replace(/\u2039/g, "<");
    // close angle bracket
    s = s.replace(/\u203A/g, ">");
    // spaces
    s = s.replace(/[\u02DC|\u00A0]/g, " ");

    return s;
}

//Use like:
var newText = replaceWordChars(textToCheck);

From http://www.andornot.com/blog/post/Replace-MS-Word-special-characters-in-javascript-and-C.aspx

like image 79
Oscar Godson Avatar answered Sep 19 '22 18:09

Oscar Godson