X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> htmlspecialchars в js
SEVI
SEVI
Topic Starter сообщение 3.4.2011, 19:16; Ответить: SEVI
Сообщение #1


Доброго времени суток!
Дело в том, что я написал скрипт htmlspecialchars для js. Ну а вот пройтись по всем тегам pre не получается. Помогите пожалуйста.
Вот код:
[JS] function htmlspecialchars(text)
{
var chars = Array("&", "<", ">", '"', "'");
var replacements = Array("&amp;", "&lt;", "&gt;", "&quot;", "'");
for (var i=0; i<chars.length; i++)
{
var re = new RegExp(chars[i], "gi");
if(re.test(text))
{
text = text.replace(re, replacements[i]);
}
}
return text;
}
$('pre').html(htmlspecialchars($('pre').html()));
[/JS]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 3.4.2011, 19:37; Ответить: alexdrob
Сообщение #2


на вид всё правильно. Разьве что вы вставляете скрипт до вывода тега pre? тогда сделайте так
[JS]$(document).ready(function() {
$('pre').html(htmlspecialchars($('pre').html()));
});[/JS]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SEVI
SEVI
Topic Starter сообщение 3.4.2011, 19:37; Ответить: SEVI
Сообщение #3


нет. это я привел кусок. сам файл у меня большой........
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SEVI
SEVI
Topic Starter сообщение 3.4.2011, 19:39; Ответить: SEVI
Сообщение #4


Извиниите похоже взял код неправильный.
[JS]
function htmlspecialchars(text)
{
var chars = Array("&", "<", ">", '"', "'");
var replacements = Array("&amp;", "&lt;", "&gt;", "&quot;", "'");
for (var i=0; i<chars.length; i++)
{
var re = new RegExp(chars[i], "gi");
if(re.test(text))
{
text = text.replace(re, replacements[i]);
}
}
return text;
}
$('pre').html(htmlspecialchars($(this).html()));
[/JS]
Так вообще ничего не выводит.
А в первом коде выводит везде значение первого pre
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 3.4.2011, 19:46; Ответить: alexdrob
Сообщение #5


То есть pre может быть много? тогда так
[JS]$(document).ready(function() {
$('pre').each(function(index) {
$(this).html( htmlspecialchars( $(this).html() ) );
});
});[/JS]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
SEVI
SEVI
Topic Starter сообщение 3.4.2011, 19:49; Ответить: SEVI
Сообщение #6


Спасибо большое! Очень помогли!

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


 



RSS Текстовая версия Сейчас: 26.4.2024, 1:49
Дизайн