Oscar Godson
Oscar Godson

Reputation: 32776

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?

Upvotes: 8

Views: 4946

Answers (1)

Oscar Godson
Oscar Godson

Reputation: 32776

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

Upvotes: 13

Related Questions