ホームページ  >  記事  >  ウェブフロントエンド  >  Maomao は、サーバーから返されたデータの html タグを削除し、指定された文字列を削除し、string_html/css_WEB-ITnose を置き換えるよう iOS を学習します。

Maomao は、サーバーから返されたデータの html タグを削除し、指定された文字列を削除し、string_html/css_WEB-ITnose を置き換えるよう iOS を学習します。

WBOY
WBOYオリジナル
2016-06-24 11:33:181054ブラウズ

Maomao の共有は高品質である必要があります

1: 問題

図に示すように、サーバーから返されたデータには HTML の大きな文字列が含まれていますが、文字列のみを使用します。バックグラウンドでデータを変更する手間がかかります。 。 。 。 (ニャーはとても思いやりがあります) そこで彼は自分で解決策を考えました。

実際には、解決策はたくさんあります。 。たとえば、文字列インターセプト メソッドを使用して範囲を取得し、位置に基づいて必要なコンテンツを取得します。 。くそー、考えただけでとても心が折れそう。
正規表現なども使用します。 。 。正規表現は、正直、面接で話すか、プロジェクトの勉強で使う以外に自分で書いたことがなかったので、ネットで調べて勉強し、みんなに共有する方法を入手しました。

2:

//去掉html标签-(NSString *)flattenHTML:(NSString *)html {    NSScanner *theScanner;    NSString *text = nil;    theScanner = [NSScanner scannerWithString:html];    while ([theScanner isAtEnd] == NO) {        // find start of tag        [theScanner scanUpToString:@"<" intoString:NULL] ;        // find end of tag        [theScanner scanUpToString:@">" intoString:&text] ;        // replace the found tag with a space        //(you can filter multi-spaces out later if you wish)        html=[html stringByReplacingOccurrencesOfString:[NSString stringWithFormat:@"%@>", text] withString:@""];    }    return html;}
を解決します

さて、これは上記のメソッドです。これらのラベル メソッド (6d267e5fab17ea8bc578f9e7e5e1570b) を @"" スペースに直接置き換えて返します。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。