[Zope] access to DTML's quoting and formatting
 (was: [Zope] ID = "somebody@someserver.com"... ?)
 (was: [Zope] ID = "somebody@someserver.com"... ?)
   
    Dieter Maurer
     
    dieter@handshake.de
       
    Thu, 9 Nov 2000 21:59:20 +0100 (CET)
    
    
  
Thomas Søndergaard writes:
 > ....
 > I know that I must use url_quote, but how do I do that...?
Zope *SHOULD* export all quoting and formating functions to
be used in expressions. Unfortunately, it does not.
You can emulate it with specialized DTML methods. As an example:
"url_quote":
Define the DTML method: url_quote as:
       <dtml-var text url_quote>
Ensure, there is no whitespace whatsoever before '<' or after '>'!
You call this function with: url_quote(text=<your_text>)
       
 > <dtml-call "REQUEST.set('firstname', firstnam)">
 > <dtml-call "REQUEST.set('surname', surnam)">
Get rid of these by using the correct name in the first place!
 > <dtml-call "REQUEST.set('email', eadr)">
   <dtml-call "REQUEST.set('email', url_quote(text=eadr))">
 > ...
As someone else already pointed out, you can use
"_.string.replace(eadr,'@','_')" if only the '@' makes
problems. But email addresses may contain other funny
characters not allowed in id's. Therefore, "url_quote" is
safer (but not completely safe -> '/').
Dieter