hejsa...
Jeg er bestemt ingen ørn til regulære udtryk, det være sig langt fra. !
Så jeg ville blive meget glad, hvis nogen kunne sige mig om der er fejl
i den endenstående tre liner, eller om der er forskel på hvordan
forskellige versioner af PHP behandler preg_replace.??
Disse tre liner har i flere år virket upåklageligt på mange forskellige
servere med et utal af forskelige kombinationer af Apache og PHP.
Men på en given server med en spritny installation af nyeste version af
Xamp (PHP 5.2.0, Apache 2.2.3 ) returnerer de tre liner her hver især
kun en tom streng, hvis der er bare eet dansk bogstav i $message.
// remove any attribute starting with "on" or xmlns
$message =
preg_replace('#(<[^>]+[\\"\'])(onmouseover|onmousedown|onmouseup|onmouseout|onmousemove|onclick|ondblclick|onload|xmlns)[^>]*>#iUu',">",$message);
// remove javascript: and vbscript: protocol
$message =
preg_replace('#([a-z]*)=([\`\'\"]*)javascript:#iUu','$1=$2nojavascript...',$message);
$message =
preg_replace('#([a-z]*)=([\`\'\"]*)vbscript:#iUu','$1=$2novbscript...',$message);
Hvad kan årsagen være.? PHP.ini er dobbelt- og krydschecket og er ord
til ord identisk med andre opsætninger hvor problemet ikke forekommer.
--
mvh, A:\Feldborg
Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/