Как заменить все оставленные апострофы на JavaScript? - PullRequest
0 голосов
/ 09 февраля 2012

Извините, у меня проблема с причудливым левым апострофом, отображаемым в Chrome, а также с другими специальными символами. Я попытался глобально заменить «на “», но этого не произойдет, и он убрал ошибки из вопросительного знака в документе, но также заменил правую апострофу и левой апострофом. Тогда это сломало мой сценарий cufon текста javascript от работы тоже. Вот мой код.

document.addEventListener("DOMContentLoaded",replaceall);
function replaceall(){
    var content = document.getElementById("content");
    content.innerHTML = content.innerHTML.replace(/“/g,"“");

}

Вот ссылка на страницу, над которой я работаю: http://reachhighernow.com/?page=attunement

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

Я бы предложил исправить проблему, а не использовать обходной java-скрипт. В большинстве случаев объявление charset не является правильным. Например, в html вы должны поместить это в заголовок:

<meta http-equiv="content-type" content="text/html; charset=utf-8"/>

ЕСЛИ ваши страницы (html-файлы, php-файлы) сохраняются как документы utf-8. (это может быть также ISO-XXXX, если так, просто измените значение декларации).

Вы можете посмотреть это в свойствах документа или даже изменить кодировку документа в вашем редакторе (например, eclipse, notepad ++).

0 голосов
/ 09 февраля 2012

Попробуйте вместо этого использовать значение Юникода в регулярном выражении:

document.addEventListener("DOMContentLoaded",replaceall);
function replaceall(){
    var content = document.getElementById("content");
    content.innerHTML = content.innerHTML.replace(/\u201c/g,"&ldquo;");
}

Правильная цитата будет /\u201d/

...