Owkay i fixed it :D.
The regexp needed a /s (Pattern Modifier) also so that the "."(DOT) also does 
newlines :).
Now it is fixed...

Thank you very much Eli :)

/me is happy.

THE CODE:
---
<?php
function tag_rep($tag)
{
    return
preg_replace('/(?<!\<)(\S+)\s*=\s*(?<![\'"])([^\s\'"]+)(?![\'"])/','\1="\2"',$tag);
}

$html="<p class=MsoNormal id=par><font size=3 face=\"Comic Sans
MS\"><span lang=NL style='font-size:12.0pt;font-family:\"Comic Sans
MS\"'><a
href=http://www.php.net/index.php>&nbsp;key=value&nbsp;</a></span></font></p>";

echo 'Normal HTML:<br><textarea cols="70" rows="10">';
echo $html;
echo "</textarea><br><br>";

$improved_html = preg_replace('/\<(.*)\>/Ueis','"<".tag_rep("\1").">"',$html);
echo 'Improved HTML:<br><textarea cols="70" rows="10">';
echo str_replace("\\'","'",$improved_html);
echo "</textarea>";
?>
---



"BlackDex" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
> Thx... it works almost :P
>
> I Changed the code a bit so you can see the results quicker :).
>
> It doesn't change every attribute/value. I think this has to do something 
> with the opening and closing of a tag <>.
>
<CUT>
> ---
>
> "Eli" <[EMAIL PROTECTED]> wrote in message news:[EMAIL PROTECTED]
>> Sorry for the spam.. here it is:
>>
>> <?php
>> function tag_rep($tag)
>> {
>>    return 
>> preg_replace('/(?<!\<)(\S+)\s*=\s*(?<![\'"])([^\s\'"]+)(?![\'"])/','\1="\2"',$tag);
>> }
>>
>> $html="<p class=MsoNormal id=par><font size=3 face=\"Comic Sans MS\"><span 
>> lang=NL style='font-size:12.0pt;font-family:\"Comic 
>> Sans MS\"'><a 
>> href=http://www.php.net/index.php>&nbsp;key=value&nbsp;</a></span></font></p>";
>>
>> $improved_html=preg_replace('/\<(.*)\>/Ue','"<".tag_rep("\1").">"',$html);
>> echo str_replace("\\'","'",$improved_html);
>> ?>
>>
>> :) 

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to