![]() |
![]() |
![]() |
|
Удаление html тегов из строки | ☑ | ||
---|---|---|---|---|
0
serega33
02.03.09
✎
16:20
|
Есть строка хтмл кода:
Текст <b>ТекстВТеге</b> <b><span>в теге</span></b> Как из нее получить - Текст ТекстВТеге в теге может есть готовые регулярные выражения какие то? Заранее благодарю за любую помощь |
|||
1
Fragster
гуру
02.03.09
✎
16:21
|
ага, регулярное выражение <[^>]+> заменить на ""...
|
|||
2
serega33
02.03.09
✎
16:29
|
(1)
пример вот нашел: Процедура RegExp_Exec() //Для 1С 7.7: Истина=-1; Ложь=0; RegExp = CreateObject("VBScript.RegExp"); RegExp.IgnoreCase = Ложь; //Игнорировать регистр RegExp.Global = Истина; //Поиск всех вхождений шаблона RegExp.MultiLine = Ложь; //Многострочный режим RegExp.Pattern = "<[^>]*>"; //Ищем теги HTML Matches=RegExp.Execute("Это <hr> строка <br> с тегами HTML"); ЧислоВхождений=Matches.Count(); Если ЧислоВхождений>0 Тогда Для к = 0 По ЧислоВхождений-1 Цикл Match = Matches.Item(к); Сообщить("Найден тег:"+ Match.Value); КонецЦикла; Иначе Сообщить("Вхождений шаблона не найдено"); КонецЕсли; //Выдаст в окно сообщений: //Найден тег:<hr> //Найден тег:<br> КонецПроцедуры а что то так и недогоню как в своем случае применить? где именно замена происходит? |
|||
3
Fragster
гуру
02.03.09
✎
16:40
|
это пример на поиск
|
|||
4
Fragster
гуру
02.03.09
✎
16:42
|
замена там же, где ты этот пример нашел, но чуть ниже:
стр=RegExp.Replace(стр, ""); ну и в v8 - новый ComОбъект вместо "СоздатьОбъект", а также истину и ложь определять не надо |
|||
5
serega33
02.03.09
✎
16:46
|
(4) все догнал спасибо большое:
в 8.1: Функция RegExp_Exec(Строка) //Для 1С 7.7: //Истина=-1; //Ложь=0; RegExp = Новый COMОбъект("VBScript.RegExp"); RegExp.IgnoreCase = Ложь; //Игнорировать регистр RegExp.Global = Истина; //Поиск всех вхождений шаблона RegExp.MultiLine = Ложь; //Многострочный режим RegExp.Pattern = "<[^>]*>"; //Ищем теги HTML Matches=RegExp.Execute(Строка); ЧислоВхождений=Matches.Count(); Если ЧислоВхождений>0 Тогда Для к = 0 По ЧислоВхождений-1 Цикл Match = Matches.Item(к); Строка = СтрЗаменить(Строка, Match.Value, ""); //Сообщить("Найден тег:"+ Match.Value); КонецЦикла; Иначе //Сообщить("Вхождений шаблона не найдено"); КонецЕсли; Возврат Строка; //Выдаст в окно сообщений: //Найден тег:<hr> //Найден тег:<br> КонецФункции |
|||
6
Fragster
гуру
02.03.09
✎
17:07
|
(5) мля...
RegExp = Новый COMОбъект("VBScript.RegExp"); RegExp.IgnoreCase = Ложь; //Игнорировать регистр RegExp.Global = Истина; //Поиск всех вхождений шаблона RegExp.MultiLine = Ложь; //Многострочный режим RegExp.Pattern = "<[^>]*>"; //Ищем теги HTML стр=RegExp.Replace(стр, ""); |
|||
7
Новичок
02.03.09
✎
17:49
|
Если с веббраузером работаешь, то там у DocumentElement есть свойство innetHTML с тэгами, и есть Text, без тэгов уже.
|
|||
8
Fragster
гуру
02.03.09
✎
17:49
|
(7)верно, только innerHTML и innerText
|
|||
9
Новичок
02.03.09
✎
18:02
|
(8) извиняюсь, уже запамятовал.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |