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

Reply via email to