Slash-Zn
@Slash-Zn

Как принять скобку в переменную из Textarea в jQuery / JavaScript?

Здравствуйте.
На сайте есть кнопка предпросмотра набранного текста. Если в тексте написать < или >, например:
<script type="text/javascript">
То получу ошибку: SyntaxError: Unexpected token '<'. Принимается с формы так:
function default_wysiwyg_getContent() {
	return $('#' + Editor.getId()).val();
};

Пробовал убирать скобки:
function default_wysiwyg_getContent() {
	var content = $('#' + Editor.getId()).val();
		content = content.replace(['<', '>'], '');

	return content;
};

Но, это не помогает...

Подскажите, как можно принять код в JS?
Спасибо.
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
replace() так не работает: ('<test>').replace(['<', '>'], ''); // "<test>"

Заменить угловые скобки можно так: content = content.replace(/[<>]/g, '');
Это регулярное выражение / /, которое заменяет "глобально" (флаг g) во всей строке
любой из симолов внутри квадратных скобок [ ] , на пустую строку ''.

Уверены, что хотите в превью пропускать любые теги, включая script ? Это может быть небезопасно.

Более разумная, может, идея – создать в теневой DOM узел с этим HTML, в нём удалить запретные теги через обычные querySelectorAll('script') и затем уцелевшее дерево вставить в элемент для предпросмотра.

Другой вариант — вставить этот HTML в iFrame с максимально строгими запретами.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы