/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
preg_replace problemer
Fra : Arne Feldborg


Dato : 11-01-07 00:32


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/

 
 
Michael Rasmussen (11-01-2007)
Kommentar
Fra : Michael Rasmussen


Dato : 11-01-07 00:41



Arne Feldborg (11-01-2007)
Kommentar
Fra : Arne Feldborg


Dato : 11-01-07 18:17

Michael Rasmussen <mir@miras.org> skrev Thu, 11 Jan 2007 00:41:20 +0100

>On Thu, 11 Jan 2007 00:31:43 +0100
>Arne Feldborg <feldborg@haunstrup.dk> wrote:
>
>>
>> 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.
>>
>Hvilket af preg_replace kommandoerne giver en tom streng?
>
Det var jo sådan set det jeg håbede på lidt hjælp til at finde ud af.

Men uanset hvilken af de tre linier jeg bruger (enkeltvis eller flere i
rap) kommer fejlen. Mens derimod en lang række andre og lignede
preg_replace() linier i samme script virker uden problemer.

Det der undrer mig mest er dog, at strengen ikke bare bliver returneret
uændret eller forvansket, men at der tværtimod bliver returneret en hel
tom streng, hvis der er bare eet eneste dansk bogstav i $message.

Og kun lige på netop denne ene server - mens det virker upåklageligt på
de mange andre servere jeg har prøvet i tidens løb og iøvrigt stadig
virker på de af dem jeg pt. har adgang til.

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Jesper Brunholm (11-01-2007)
Kommentar
Fra : Jesper Brunholm


Dato : 11-01-07 20:34

Arne Feldborg skrev:
> 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.

Ja, men sikkert ikke med samme _locale_ - brug set_locale() inden din
preg_etellerandet funktion, så burde du være home safe.

Mvh

Jesper Brunholm

Arne Feldborg (12-01-2007)
Kommentar
Fra : Arne Feldborg


Dato : 12-01-07 01:00

Jesper Brunholm <nospam@brunholm-scharff.dk> skrev Thu, 11 Jan 2007
20:33:33 +0100


>> Disse tre liner har i flere år virket upåklageligt på mange forskellige
>> servere med et utal af forskelige kombinationer af Apache og PHP.
>
>Ja, men sikkert ikke med samme _locale_ - brug set_locale() inden din
>preg_etellerandet funktion, så burde du være home safe.
>
Tak for forslaget, men locale settings *er* ens. Og iøvrigt gør det
heller ikke nogen forskel på en replacefunktion.

--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408925
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste