Prima di tutto, non ho il controllo sul testo che sto ottenendo. Volevo solo metterlo fuori così sai che non posso cambiare i link.È possibile rilevare i collegamenti all'interno di una NSString che ha spazi in essi con NSDataDetector?
Il testo che sto cercando di trovare i link a usando NSDataDetector
contiene quanto segue:
<h1>My main item</h1>
<img src="http://www.blah.com/My First Image Here.jpg">
<h2>Some extra data</h2>
Il codice di rilevamento che sto usando è questo, ma non troverà questo link:
NSDataDetector *linkDetector = [NSDataDetector dataDetectorWithTypes:NSTextCheckingTypeLink error:nil];
NSArray *matches = [linkDetector matchesInString:myHTML options:0 range:NSMakeRange(0, [myHTML length])];
for (NSTextCheckingResult *match in matches)
{
if ([match resultType] == NSTextCheckingTypeLink)
{
NSURL *url = [match URL];
// does some stuff
}
}
Si tratta di un bug con il rilevamento dei link di Apple qui, in cui non è in grado di rilevare i collegamenti con spazi o sto facendo qualcosa di sbagliato?
Qualcuno ha un modo più affidabile per rilevare i collegamenti indipendentemente dal fatto che abbiano spazi o caratteri speciali o altro?
Che dire dell'espressione regolare; per esempio. 'regularExpressionWithPattern: @" src = (\ "| ') (. *) (\" |')> "' e poi '[match rangeAtIndex: 2]' – VolenD