• 16.12.2018, 02:09:19 *
  • Добро пожаловать, Гость
Пожалуйста, войдите или зарегистрируйтесь.

Расширенный поиск  
collapse
* Голосование
  • Нравится ли Вам Opera AC?
  • Dot Конечно, она просто супер!
  • 1598 (77%)
  • Dot В целом да, но много лишнего..
  • 366 (17%)
  • Dot Для ознакомительных целей
  • 64 (3%)
  • Dot Нет
  • 24 (1%)
  • Dot А что это такое?
  • 20 (0%)
  • Проголосовало пользователей: 2026
  • Смотреть тему

Реклама:

Автор Тема: var.replace - Как заменить символы тегов?  (Прочитано 14381 раз)

0 Пользователей и 1 Гость просматривают эту тему.

CreatoR

  • AC Team
  • Админ
  • *
  • Репутация: 46
  • Оффлайн Оффлайн
  • Пол: Мужской
  • Сообщений: 3109
  • CreatoR - Это не Ник, CreatoR - Это стиль Жизни!
    • WWW
Вобщем задача состоит в том, что нужно заменить открывающие символы тегов на их реальное значение, но при этом чтобы учитывалась парность тегов:

Цитировать
var sTag = 'some data <b>bold data</b> other data';

 //Это делает другой скрипт, т.е так в результате будет пропарсена строка (вместо «<» будет «&#60;», а вместо «>» будет «&#62;»)
sTag = sTag.replace(/<(.*?)>/g, '&#60;$1&#62;')

//А тут уже мне нужно заменить
sTag = sTag.replace(/&#60;(.*?)&#62;(.*?)&#60;\/$1&#62;/g,'<$1>$2</$1>');

alert(sTag);

При замене я пытаюсь подобрать парность тегов используя переменную «$1» в первом же параметре, это чтобы не указывать имя тега, т.к нужно заменить все парные теги, но только те которые имеют пару, это очень важно - чтобы теги типа <b>...</i> не заменялись.

Так вот, как я понял javascript не поддерживает такое? в AutoIt оно работает :) какие ещё есть методы это сделать?
Записан
Читаем FAQ по OAC! и Список изменении OAC перед тем как задать вопрос.



P.S
«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум.»

Lex1

Re: var.replace - Как заменить символы тегов?
« Ответ #1, : 15.09.2009, 20:50:06 »
Можно в качестве второго параметра вызывать функцию и уже там проверять.
Записан

CreatoR

  • AC Team
  • Админ
  • *

  • Автор темы
  • Репутация: 46
  • Оффлайн Оффлайн
  • Пол: Мужской
  • Сообщений: 3109
  • CreatoR - Это не Ник, CreatoR - Это стиль Жизни!
    • WWW
Re: var.replace - Как заменить символы тегов?
« Ответ #2, : 15.09.2009, 22:03:21 »
Lex1 « Reply #1 : Сегодня в 21:50:06 »
Цитировать
Можно в качестве второго параметра вызывать функцию и уже там проверять
Можно пример, что-то я не уверен как это реализовать.

Добавлено: 15.09.2009, 22:04:56

Lex1
Это кстати нужно для скрипта предпросмотра, чтобы отображалось содержимое между <>, но при этом содержимое между парными тегами обрабатывалось как Html :).
« Последнее редактирование: 15.09.2009, 22:04:56 от CreatoR »
Записан
Читаем FAQ по OAC! и Список изменении OAC перед тем как задать вопрос.



P.S
«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум.»

Lex1

Re: var.replace - Как заменить символы тегов?
« Ответ #3, : 18.09.2009, 23:41:36 »
Цитировать
Можно пример, что-то я не уверен как это реализовать.
Вместо правой части используется функция, в её первом параметре будет совпавшая строка, во втором - первое совпадение в скобках, в следующем второе и т.д.

И я плохо понимаю смысл подобной операции. Тэги ведь бывают и такими: <b id="a"> и такими: <img src />
Записан

CreatoR

  • AC Team
  • Админ
  • *

  • Автор темы
  • Репутация: 46
  • Оффлайн Оффлайн
  • Пол: Мужской
  • Сообщений: 3109
  • CreatoR - Это не Ник, CreatoR - Это стиль Жизни!
    • WWW
Re: var.replace - Как заменить символы тегов?
« Ответ #4, : 19.09.2009, 01:03:42 »
Lex1 « Reply #3 : Сегодня в 00:41:36 »
Цитировать
я плохо понимаю смысл подобной операции. Тэги ведь бывают и такими
Мда, я это сам на днях понял :-[

Получается что для реализации моей задумки, нужно перебирать все существующие теги, и заменять только их (чтобы только они парсились, а не любой текст между <>)?

Ладно, зато хоть узнал побольше о замене строк ::)

Спасибо.
Записан
Читаем FAQ по OAC! и Список изменении OAC перед тем как задать вопрос.



P.S
«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум.»

Lex1

  • Админ
  • *
  • Репутация: 9
  • Оффлайн Оффлайн
  • Сообщений: 1739
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 8.54 Opera 8.54
Re: var.replace - Как заменить символы тегов?
« Ответ #5, : 21.09.2009, 15:45:03 »
Зависит от того, зачем это нужно. Если нужно получить текст из html, то имеется ведь свойство innerText.
Записан

CreatoR

  • AC Team
  • Админ
  • *

  • Автор темы
  • Репутация: 46
  • Оффлайн Оффлайн
  • Пол: Мужской
  • Сообщений: 3109
  • CreatoR - Это не Ник, CreatoR - Это стиль Жизни!
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 1.5.0 Firefox 1.5.0
    • WWW
Re: var.replace - Как заменить символы тегов?
« Ответ #6, : 21.09.2009, 21:15:48 »
Lex1 « Reply #5 : Сегодня в 16:45:03 »
Цитировать
Зависит от того, зачем это нужно

Я выше писал...
« Reply #2 : 15.09.2009, 23:03:21 »
Цитировать
Это кстати нужно для скрипта предпросмотра, чтобы отображалось содержимое между <>, но при этом содержимое между парными тегами обрабатывалось как Html
Записан
Читаем FAQ по OAC! и Список изменении OAC перед тем как задать вопрос.



P.S
«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум.»

Lex1

  • Админ
  • *
  • Репутация: 9
  • Оффлайн Оффлайн
  • Сообщений: 1739
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Opera 8.54 Opera 8.54
Re: var.replace - Как заменить символы тегов?
« Ответ #7, : 21.09.2009, 22:54:25 »
Речь идёт про html-теги, которые используются на некоторых сайтах вместо bbcode? В таких случаях обычно применяется очень ограниченный набор тегов.
Записан

CreatoR

  • AC Team
  • Админ
  • *

  • Автор темы
  • Репутация: 46
  • Оффлайн Оффлайн
  • Пол: Мужской
  • Сообщений: 3109
  • CreatoR - Это не Ник, CreatoR - Это стиль Жизни!
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Firefox 1.5.0 Firefox 1.5.0
    • WWW
Re: var.replace - Как заменить символы тегов?
« Ответ #8, : 21.09.2009, 23:48:33 »
Lex1 « Reply #7 : Вчера в 23:54:25 »
Цитировать
Речь идёт про html-теги, которые используются на некоторых сайтах вместо bbcode?
Нет. Как раз про обычный текст. Пример:

[b]Тут заглавный текст[/b]

Тут допустим <Section>:

и далее ещё текст :)

Вот там где <Section> после предпросмотра будет пусто.
Записан
Читаем FAQ по OAC! и Список изменении OAC перед тем как задать вопрос.



P.S
«Не оказываю техподдержку через ПМ/ICQ, и по электронной почте - для этого есть форум.»

Lex1

  • Админ
  • *
  • Репутация: 9
  • Оффлайн Оффлайн
  • Сообщений: 1739
  • OS:
  • Windows XP Windows XP
  • Browser:
  • Mozilla совместимость Mozilla совместимость
Re: var.replace - Как заменить символы тегов?
« Ответ #9, : 22.09.2009, 10:37:43 »
Странно, почему в кнопке/скрипте прописано:
h = x.value.replace(/</g, '<').replace(/>/g, '>').Должно быть:
h=x.value.replace(/</g,'&lt;').replace(/>/g,'&gt;').
Заменять следует все знаки "больше" и "меньше", это же просмотр bbcode.
Записан
 




Реклама:

Счетчик

http://mirstandart.ru/ купить краги спилковые пятипалые.

Страница сгенерирована за 0.051 секунд. Запросов: 36.