I just tried; it doesn't do it.

irb(main):004:0> CGI.escapeHTML( "<br>")
=> "&lt;br&gt;"
irb(main):005:0> CGI.escapeHTML( "<br>\251")
=> "&lt;br&gt;\251"


On Oct 16, 2004, at 2:15 AM, Patrick May wrote:

> On Friday, October 15, 2004, at 08:38  PM, Francis Hwang wrote:
>
>> I asked this a little while back but maybe didn't ask the right way, 
>> so maybe somebody can help me if I rephrase:
>>
>> I'm trying to build an RSS feed that takes, in its item descriptions, 
>> ISO-8859-1 text. (I'm using REXML for now.) I'd like to be able to 
>> take a non-ASCII character and turn it into a usable XML entity. So, 
>> for example, "\251" would get turned into "&#169":
>>
>> str = "\251 2004 Francis Hwang"
>> elt = REXML::Element.new( 'elt' )
>> elt.text = str
>> elt.to_s
>> => "<elt>\251 2004 Francis Hwang</elt>"
>> # But I want "<elt>&#169; 2004 Francis Hwang</elt>"
>>
>> Is there some sort of setting I can twiddle in REXML so that I can 
>> assign a text that includes these sorts of characters, and REXML will 
>> know to turn them into entities on output? I know I can do this by 
>> hand and then prevent escaping by use the :raw flag, but I'd like to 
>> avoid that if possible.
>
> I think there's an escapeHTML function on the CGI that might do it.  
> Of course, it will also hit the &gt; and &lt;.  You could still lift 
> the code from there.
>
> ~ pat
>
>