Прокоментируйте плиз функцию.
Возможно я чтото не учел, или можно сделать быстрее и проще
string strip_tags(const string& s){
string tmp(s);
string::size_type idx = 0,idx2 = 0;
// Ищем символ <
while( string::npos != (idx = tmp.find("<",idx2)) ){
// Ищем конец тега
idx2 = tmp.find("/>",idx);
if( string::npos == idx2 ) break;
// Удаляем все м-ду < и >
tmp.erase( idx,idx2-idx+2 );
}
return tmp;
}
// Вызов
int _tmain(int argc, _TCHAR* argv[]){
printf( strip_tags("Hello C++<<dedf/>").c_str() );
return 0;
}
Здравствуйте, Socket, Вы писали:
S>Прокоментируйте плиз функцию.
S>Возможно я чтото не учел, или можно сделать быстрее и проще
Все зависит от контекста где тебе это надо.
Вот это самое простое решение из (мне) известных
HTML/XML scanner/tokenizer
которое позволяет делать html-to-plain-text conversion.
Здравствуйте, Socket, Вы писали:
S>Возможно я чтото не учел
да:
<b>bold text</b>
<a title="<more text>" href="http://more.txt">link</a>
<style>
/* some css code here */
</style>
<script language="JavaScript">
/* some script code here */
</script>
это сходу.