On 5 Oct 2010, at 00:45, Keary Suska wrote: > On Oct 4, 2010, at 1:15 AM, Gerriet M. Denkmann wrote: > >> I have a Webview, and I want to do something with the selected text. >> >> I tried: >> DOMRange *dr = [ webView selectedDOMRange ]; >> NSString *m = [ dr markupString ]; >> this contains the selected characters, but buried in lots of markup >> language. But I just want the characters. >> >> NSString *s= [ dr stringRepresentation ]; >> just returns "Undefined". >> >> I could do [webView copy:nil ]; and then get the string from the general >> pasteboard, but I rather do not like to mess up the pasteboard - the user >> might have put something important there. > > The first thing I would try is use NSAttributedString to convert the HTML.
Well, the first thing I tried, was to remove all "<...>" from the markupString manually. It worked. But I admit that your suggestion is certainly much better. This seems to work: DOMRange *ff = [ webView selectedDOMRange ]; NSString *marki = [ ff markupString]; NSData *data = [ marki dataUsingEncoding: NSUTF8StringEncoding ]; NSNumber *n = [ NSNumber numberWithUnsignedInteger: NSUTF8StringEncoding ]; NSDictionary *options = [ NSDictionary dictionaryWithObject: n forKey: NSCharacterEncodingDocumentOption ]; NSAttributedString *as = [ [ NSAttributedString alloc ] initWithHTML: data options: options documentAttributes: NULL ]; NSString *selectedString = [ as string ]; [ as release ]; But the question remains: Why does writeSelectionWithPasteboardTypes:toPasteboard: behave like a non-op ? Anyway, thanks very much for your suggestion! Kind regards, Gerriet. _______________________________________________ Cocoa-dev mailing list (Cocoa-dev@lists.apple.com) Please do not post admin requests or moderator comments to the list. Contact the moderators at cocoa-dev-admins(at)lists.apple.com Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com