|  | Posted by amygdala on 05/28/07 19:39 
"amygdala" <noreply@noreply.com> schreef in bericht news:465a7469$0$16940$9a622dc7@news.kpnplanet.nl...
 > Hi there,
 >
 > I'm trying to replace single quoted attributes in HTML tags with double
 > quotes. What I've come up with is this:
 >
 > function replaceSingleQuotesInsideTags( $input )
 > {
 > $output = preg_replace(
 >  '/<[^>]*>/e',
 >  "str_replace( '\'', '\"', '$0' )",
 >  $input
 >  );
 > return $output;
 > }
 >
 > So let's say I have this string of HTML code:
 >
 > On <A href="/home/" target="_self">this</A> page you will find <SPAN
 > STYLE='font-style: italic'>stuff</SPAN>
 >
 > Result:
 > On <A href=\"/home/\" target=\"_self\">this</A> page you will find <SPAN
 > STYLE="font-style: italic">stuff</SPAN>
 >
 > As you can see, when I run it through my function
 > replaceSingleQuotesInsideTags, not only does it replace the single quotes
 > with double quotes, but it also adds backslashes before double quotes that
 > were already present. This is unexpected behaviour to me.
 >
 > Expected result:
 > On <A href="/home/" target="_self">this</A> page you will find <SPAN
 > STYLE="font-style: italic">stuff</SPAN>
 >
 > Note the missing backslashes in the anchor tag attributes.
 >
 > Does anybody have an idea of what is going on here?
 >
 > Working with PHP 5.1.4, magic_quotes (all) off.
 >
 > Thank you in advance.
 >
 
 Aaah yes, I should have rtfm. My bad. Thanks people.
 [Back to original message] |