2011-02-22 48 views
0

嗨,我需要一些代碼從一個字符串中提取這樣目標C獲取圖像從HTML字符串

<div><a href="http://3.bp.blogspot.com/-uBx6ZoJ1DmY/TWPc1zD7aMI/AAAAAAAAANE/xeTZXtv4KYk/s1600/ipad-light-peak.jpg"><img border="0" height="260" src="http://3.bp.blogspot.com/-uBx6ZoJ1DmY/TWPc1zD7aMI/AAAAAAAAANE/xeTZXtv4KYk/s320/ipad-light-peak.jpg" width="320" /></a></div><div>Come ormai tutti sappiamo, il nuovo iPad 2 è già in produzione da un po' di tempo, e, secondo recentissime voci, il nuovo iPad sarà equipaggiato con Light Peak.&#160;</div><div><br /></div><div>Light Peak è una tecnologia sviluppata da Intel che utilizza la fibra ottica per la trasmissione dei dati, portando così la velocità di trasferimento dei dati da PC/Mac a iPad ad una velocità altissima.&#160;</div><div><br /></div><div>Una connessione Light Peak su iPad 2 è secondo noi alquanto improbabile, dato che ormai il dock a 30 pin è quasi uno "standard" di comunicazione dei dispositivi Apple; inoltre se su iPad 2 sarà presente solo Light Peak, tutte le case che producono accessori per iPad dovranno riprogettare il loro prodotti.</div><div><br /></div><div>E voi, cosa ne pensate ? Fatecelo sapere utilizzando il form qui sotto.</div><div><img width="1" height="1" src="https://blogger.googleusercontent.com/tracker/5674629894325206938-2710160962386980433?l=eugystyle.blogspot.com" alt="" /></div> 

圖像的道路......在這個eìcode爲esample我需要的「http:/ /3.bp.blogspot.com/-uBx6ZoJ1DmY/TWPc1zD7aMI/AAAAAAAAANE/xeTZXtv4KYk/s320/ipad-light-peak.jpg」

感謝

+3

除去正則表達式標籤,他們稱呼你這個http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454之前。 Ops,我沒有... –

+0

對不起,我不明白 –

+0

簡單。不要**用正則表達式解析HTML。這種方式是痛苦和瘋狂。 HTML只是不夠好;它有一些可怕的角落。使用適當的HTML解析庫。真。 –

回答

1

,如果你不打算解析HTML那麼簡單substringFromIndex和substringToIndex會做的伎倆。

NSString *yourFullURL = fullHTMLString; 
NSRange t = [yourFullURL rangeOfString:@"\"><img border=\"0\""]; 

//check range exists 
if(t.location !=NSNotFound){ 
    NSString *yourJPGURL = [yourFullURL substringToIndex:t.location]; 
} 
// this will give you a new string up to the end of the URL// 
// then repeat for the first part using a new NSRange for the beginning of 
// the URL, use range.location+x (where x is the number of characters to add as NSRange 
// returns the beginning of the string you search for.