уникальность == позиция %-)
Misha v.3 03.07.2008 12:51
первое выкушенное надо вставить первым. даже в этом форуме уже подобный подход ни раз обсуждался.
md5, кстати, запросто может встретиться в тексте, особенно как в варианте Eugene-а, без /%%/ (хотя уж лучше было использовать что-то более стандартное, например /**/)
т.е. предлагается что-то типа этого:
@textPreprocess[text][tTag]
$result[$text]
^if(^result.pos[<] >= 0 || ^result.pos[>] >= 0){
^if(!def $tRepl)
$tRepl[^table::create{from to^#0A< <^;^#0A> >^;}]
}
$tTag[^table::create{sValue}]
$result[^result.match[(</?(?=[a-z])[^^>]+>)][gi]{/*UNIQUE-MARKER*/^tTag.append{^taint[$match.1]}}]
$result[^result.replace[$tRepl]]
^if($tTag){
$result[^result.match[/\*UNIQUE-MARKER\*/][g]{^taint[as-is][$tTag.sValue]^tTag.offset(1)}]
}
}
### End @textPreprocess
правда в случае работы с данными произвольных taint-расскрасок table не подходит (в тексте может быть clean \t\n, которые поломают таблицу) и нужно использовать хеш, что незначительно изменит код, однако работать будет медленнее (согласно моим давним тестам)
- Заменить все <> на lt;gt; но только те, которые не тэги, Anti 04.02.2008 17:34
- Ответ, Незнайка на Луне 05.02.2008 13:03
- Ответ, tezro 05.02.2008 04:37 / 05.02.2008 04:40
- Ответ, Anti 05.02.2008 09:57
- Re: на самом деле это довольно непростая задача, 04.02.2008 19:23
- рэгэксп, Anti 04.02.2008 18:43
- Ответ, G_Z [M] 04.02.2008 19:26
- Поделитесь кодом? (-), Anti 04.02.2008 20:08
- Подобная техника используется..., Sumo [M] 04.02.2008 20:15
- Ответ, Maxx [M] 04.02.2008 20:48 / 04.02.2008 22:44
- Re: доработал пример отлова непарных символов больше/меньше, Spearance 03.07.2008 11:27
- Странная регулярка, Maxx [M] 03.07.2008 15:45
- Ответ, Spearance 04.07.2008 14:53
- а md5-то вам в таких количествах зачем?, Misha v.3 [M] 03.07.2008 12:05
- Ответ, Spearance 03.07.2008 12:42
- Ответ, Misha v.3 [M] 03.07.2008 12:53 / 03.07.2008 12:53
- Ответ, Spearance 03.07.2008 12:58
- А как обеспечить уникальность?, Maxx [M] 03.07.2008 12:09 / 03.07.2008 12:10
- уникальность == позиция %-), Misha v.3 [M] 03.07.2008 12:51
- Ответ, Maxx [M] 03.07.2008 13:58
- нет, Misha v.3 [M] 03.07.2008 14:38 / 03.07.2008 14:50
- Ответ, Spearance 04.07.2008 08:37
- Ответ, Maxx [M] 04.02.2008 18:54
- Ответ, Anti 04.02.2008 20:05 / 04.02.2008 20:07