0

私はIBからこのインターフェースを持っています。「詳細」でわかるように、そのUITextfield中にはたくさんの HTML コードがあります。

テーブルビュー

バックエンドでもできるように、背後にPHPサーバーがあります。これを実行する最良の方法は何ですか?

4

3 に答える 3

1

これを使用して HTML を文字列に変換できます。

  NSRange range;
  NSString *string;
  while ((range = [string rangeOfString:@"<[^>]+>" options:NSRegularExpressionSearch]).location != NSNotFound){
    string=[string stringByReplacingCharactersInRange:range withString:@""];
  }
  NSLog(@"Un block string : %@",string);

ただし、テキストに <> が含まれている場合は削除されます

于 2013-01-23T10:20:23.817 に答える
1

ほんの小さな断片であっても、パーサーを使用して html を解析する必要があります。AKV は RegEx を使用することを提案していますが、正しい RegEx が見つかるかどうかは非常に疑わしいです。こちらも参照してください。つまり<a href="foo" title="5>3">、AKV の正規表現を混乱させる有効な html です。

iOS には libXML2 を使用できる C-lib が搭載されていますが、実際にはその周りにラッパーを使用する必要があります。Objective-C-HMTL-Parserはシンプルで優れていると思います。

あなたはそれを次のように使用します

HTMLParser *parser = [[HTMLParser alloc] initWithString:html error:&error];
HTMLNode *bodyNode = [parser body];
NSString *string = [bodyNode allContents];

HTMLNode には他の HTMLNode を子として含めることができるため、その情報をテキストの書式設定にも使用できます。


これがオプションである場合、HTML を NSAttributedStrings に解析するための優れたDTCoreTextプロジェクトもあります。

于 2013-01-23T14:39:47.367 に答える
1

透明な背景を持つ UIWebView で表示すると、すべての HTML タグが引き続き機能します。UIWebView を UITextView と同じサイズにして、同じ場所に配置するだけです!

HTML 文字列を webView にロードするときは、透明な背景にこのコードを使用します。

finalhtmlstring = [NSString stringWithFormat:@"<html><head></head><body style='background-color:transparent;'>%@</body></html>",htmlstring];
[myWebView loadHTMLString:finalhtmlstring baseURL:[NSURL fileURLWithPath:[[NSBundle mainBundle] bundlePath]]];

また、(xib ファイルで) webView の背景自体を 0% アルファに設定し、「不透明」ボックスを切り替えていることを確認してください...

最後に、xib ファイルにデリゲートを設定し、.h ファイルに追加することを忘れないでください<UIWebViewDelegate>

于 2013-01-23T14:50:57.393 に答える