2011-11-16 18 views
13

पर कनवर्ट करें मैं HTML स्ट्रिंग को डीकोड करना चाहता हूं और इसे एनएसएसटींग में संग्रहीत करना चाहता हूं।स्वरूपित HTML टेक्स्ट स्ट्रिंग को एनएसएसटींग भागों

Google दिशा api से प्रतिक्रिया में से एक के लिए HTML स्ट्रिंग है।

teststring is Turn <b>right</b> onto <b>Kennington Park Rd/A3</b><div style="font-size:0.9em">Continue to follow A3</div><div style="font-size:0.9em">Entering toll zone in 1.7&nbsp;km at Newington Causeway/A3</div><div style="font-size:0.9em">Go through 2 roundabouts</div> 

मैं 4 NSStrings निम्नलिखित मैं का इस्तेमाल किया है

Turn right onto Kennington Park Rd/A3 
Continue to follow A3 
Entering toll zone in 1.7 km at Newington Causeway/A3 
Go through 2 roundabouts 

(आकार रंग के लिए सभी जानकारी को हटाने) निम्न विधि सादे करने के लिए एचटीएमएल स्ट्रिंग में कनवर्ट करने के साथ 4 अलग NSStrings की सरणी में इस एचटीएमएल स्ट्रिंग संग्रहीत करना चाहते हैं पाठ। (html_response सर्वर से प्रतिक्रिया है और stringByConvertingHTMLToPlainText विधि कस्टम वर्ग फाइल में परिभाषित है)

testString = (NSString*) [html_response stringByConvertingHTMLToPlainText]; 
NSLog(@"%@",testString); 

लेकिन यह पूरी stri धर्मान्तरित भागों में तोड़ने के बजाय एनजी। कंसोल पर उत्पादन

Turn right onto Kennington Park Rd/A3Continue to follow A3 Entering toll zone in 1.7 km at Newington Causeway/A3 Go through 2 roundabouts 

तो मैं यह करने के लिए कस्टम विधि लिखने की ज़रूरत है? किसी भी प्रकार की सहायता सराहनीय होगी।

उत्तर

18

एक बहुत अच्छा एनएसएसटींग category है जिसका उपयोग आप कर सकते हैं, यह प्रोजेक्ट MWFeedParser प्रोजेक्ट का हिस्सा है। अधिक विशेष रूप से, आप फ़ाइल NSString+HTML फ़ाइल देखें।

NSString + एचटीएमएल श्रेणी NSString वर्ग के लिए निम्न विधियों, कहते हैं

- (NSString *)stringByStrippingTags; 
- (NSString *)stringWithNewLinesAsBRs; 
- (NSString *)stringByRemovingNewLinesAndWhitespace; 
- (NSString *)stringByDecodingHTMLEntities; 
- (NSString *)stringByEncodingHTMLEntities; 

फिर आप की तरह कुछ की कोशिश कर सकते:

NSString *summary = [[[htmlString stringByStrippingTags] stringByRemovingNewLinesAndWhitespace] stringByDecodingHTMLEntities]; 

आशा है कि यह मदद करता है !, सौभाग्य :)

+0

आपके उत्तर के लिए धन्यवाद। आपके द्वारा सुझाए गए तरीके से, मेरे पास HTML स्ट्रिंग को nsstring में परिवर्तित कर दिया गया है, लेकिन मुझे इसे 4 अलग-अलग nsstring वाले सरणी के रूप में स्टोर करने की आवश्यकता है। क्या आपको कोई विचार है कि मैं इसे कैसे कर सकता हूं? क्या मैं उपर्युक्त तरीकों को ओवरराइड करना चाहता हूं? – chatur

+0

प्रति स्ट्रिंग एक स्ट्रिंग? – Goles

संबंधित मुद्दे