|
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]
|