Russian Qt Forum
Ноябрь 26, 2024, 11:50 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Plaint text -> html tagged text  (Прочитано 1818 раз)
Alp
Гость
« : Ноябрь 17, 2009, 16:49 »

Есть строчка с HTML-тэгами (A), есть она же только без них (B). И есть подстрока (C), которая входит в последнюю (даны начальный индекс и длина).
Задача: найти строку, соответствующую (C) в строке (A) с учетом всех тегов.

Например:
A = "Однажды в <some tag="qwe">студеную зимнюю</some> пору <bold>я из лесу вышел</bold>, <a href="asdasd">был сильный</a> мороз"
B = "Однажды в студеную зимнюю пору я из лесу вышел, был сильный мороз"
C = "я из лесу вышел, был сильный"
bIdxStart = 31,
bLength   = 28

Надо найти aIdxStart (=54) и aLength (=62)

Алгоритм "находим первое слово из С, берем правую часть относительно него от А, стрипаем теги, проверяем остаток строки, если не сошлось ищем дальше" не подходит - перед первым словом из С в А могут быть открывающие теги.

Второй вариант как модификация первого - заменить в тегах пробелы на подчеркивания (А'), после чего найти начало (как описано выше) и по числу пробелов определить конец последовательности. Из-за сохранения числа символов полученные данные будут применимы и к исходной последовательности А.

Может есть варианты умнее?
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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