С нами с 24.10.04
Сообщения: 18881
Рейтинг: 9010
|
Добавлено: 13/01/09 в 19:06 |
есть яваскрипт, вставляет переменную в поле textarea
var text='bla bla ] bla'
document.getElementById('txt').value += text + '\n';
в поле textarea вставляется текст 'bla bla ] bla'
как вставить нормальный текст, вида 'bla bla ] bla', тоесть нужно заменять все спецсимволы "&#...;" налету???
|
|
|
|
С нами с 16.10.06
Сообщения: 56
Рейтинг: 259
|
Добавлено: 13/01/09 в 19:22 |
Встроенных функций нет, но можно сделать свою, заменяя по регексам на символы с соответствующими кодами. Вроде такого (навскидку):
Код: |
String.prototype.entitiesToStr = function()
{
return this.replace(/&#(\d+);?/gi,
function(match, p1, offset, s)
{
return String.fromCharCode(p1);
}
);
} |
А, ну и пользоваться потом типа:
Код: | text = text.entitiesToStr() |
|
|
|
|
С нами с 15.03.08
Сообщения: 33
Рейтинг: 96
|
Добавлено: 15/01/09 в 19:29 |
Учитывая что html entities бывают не только цифровыми, но также именованными и шестнадцатиричными - логично предоставить браузеру самому разбираться с этими тонкостями. Сделать это проще всего использовав element.innerHTML и заставив браузер преобразовывать строку самостоятельно в соответствии со всеми правилами парсинга HTML. Немного модифицированный вариант:
Код: | <html>
<body>
<textarea id="ta" style="width: 200px; height: 100px"></textarea>
<script language="JavaScript">
var str = 'bla ] bla S " bla — bla';
String.prototype.entitiesToStr = function()
{
if (typeof(___ets)=='undefined')
___ets = document.createElement('div');
var v = this.replace(/'/g,'''); // MSIE 6 incorrectly converts ' entity
___ets.innerHTML = v;
return ___ets.innerHTML;
}
document.getElementById('ta').value = str.entitiesToStr();
</script>
</body>
</html> |
К сожалению & < и > ни в одном браузере нормально не конвертятся в символы...
|
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |