Re: Display strings with single quotes

From: Date: Thu, 20 Feb 2003 13:40:26 +0000
Subject: Re: Display strings with single quotes
References: 1 2 3  Groups: php.general 
Request: Send a blank email to php-general+get-136347@lists.php.net to get a copy of this message
> On Thursday 20 February 2003 20:26, Ernest E Vogelsinger wrote: > > At 13:16 20.02.2003, Tom Rogers said: > > --------------------[snip]-------------------- > > > > >Rec> Have simple but annoying issue, I want to display a string > > >within an > > >Rec> input field. This string contains ' & so when it's being display the, > > >Rec> anything after the ' is being left out. Here is the code I'm using: > > > > > >Rec> $string = str_replace("'", "''", > > >Rec> $string); > > >Rec> $string = stripslashes($string); > > >Rec> echo "<input type=text name='value' size=20 value = > > > '$string'>"; > > > > > > > > >Pass the string through htmlentities(); before you echo it. > > > > --------------------[snip]-------------------- > > > > htmlentities won't work with single quotes, use addslashes: Addslashes will have no effect. HTML does not recognize the \ character as an escape character. That's a PHP concept. > Actually just (only) htmlentities() will do. See manual for options regarding > whether to encode single-quotes and double-quotes. > > > "<input type='text' name='value' size='20' > > value='" . > > htmlentities(addslashes($string)) . "'>"; But, you're right that this won't work. htmlentities() by itself will leave single quotes alone. What you want to use is htmlentities($string,ENT_QUOTES); which will convert single and double quotes to entities. ---John Holmes...

« previous php.general (#136347) next »