0

私はSBJsonパーサーからjsonを解析しています。画像のキャッシュに SDWebIamge を使用しています。私のJSONデータには、テキストとテキストの間にテキストと画像のリンクがある「コンテンツ」というタグが1つあります。ちょうど例えばこのようなもの

<p>This is sample text.<\/p>\n<p><a href=\"http:\/\/xyz.com\/08\/15.jpg\"><img class=\"aligncenter size-full wp-image-1273\" title=\"15\" src=\"http:\/\/xyz.com\/08\/15.jpg\" alt=\"\" width=\"422\" height=\"720\" \/><\/a><\/p>\n<p><a href=\"http:\/\/xyz.com\/08\/16.jpg\"><img class=\"aligncenter size-full wp-image-1274\" title=\"16\" src=\"http:\/\/xyz.com\/08\/16.jpg\" alt=\"\" width=\"680\" height=\"1024\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n

これを解析して NSString 変数に保存します。次に、この NSString からロードする webview があります

 NSString *htmlString = [[NSString alloc] initWithString:myObj.Content];

テキストをロードし、デフォルトでリンク画像をフェッチします。これは、Webビューが行うことを知っているためです。このJSONデータをオフライン表示用にファイルに保存していますが、SDWebimageのおかげでうまく機能しています。しかし、私の問題は、保存コンテンツをロードするときですwebviewにはテキストのみが表示され、画像は表示されません。これらは、ロードしたNSStringリンクに画像キャッシュがないためです。次に、文字列からwebviewをロードしたときに、リンクからの画像が表示されるように、webviewに画像をキャッシュするにはどうすればよいですか私の NSString データ。

ありがとう

4

1 に答える 1

0

これを行うには、既存の実装を使用できます。ASIWebPageRequestProxyingUIWebViewなどを使用すると効果的です。

または、これを自分で実装することもできます。1 つのオプションは次のようなものです。

  1. HTML 文字列を解析し、imgタグとそのsrc属性を検出します
  2. 検出された画像をダウンロードして保存する
  3. imgHTML 文字列のタグ内の画像へのパスを変更して、オンラインのオリジナルの代わりに保存された (ダウンロードした画像) を表示します。

これは最適なソリューションとはほど遠いものであり、可能な実装の 1 つの例にすぎないことに注意してください。

于 2012-08-13T11:23:24.610 に答える