/ 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
Fjern STYLE elementer fra HTML tags
Fra : Thïngmand


Dato : 09-03-01 13:49

Jeg har noget user input der skal igennem en PHP kværn og rettes til.

Jeg vil bl.a. gerne fjerne alle STYLE elementer fra HTML tag'ene, så f.eks.
<P STYLE="blabla: blabla" ALIGN="right"> bliver til <P ALIGN="right">

- hvordan gør jeg det?



 
 
Christian Jørgensen (09-03-2001)
Kommentar
Fra : Christian Jørgensen


Dato : 09-03-01 14:43

Thïngmand <michael@thingmand.dk> wrote:

>Jeg vil bl.a. gerne fjerne alle STYLE elementer fra HTML
>tag'ene, så f.eks.
><P STYLE="blabla: blabla" ALIGN="right"> bliver til <P
><ALIGN="right">

// utestet
function remove_style_tags($input) {
return eregi_replace(" style=\"[^\"]\"","",$input);
}

--
Christian Jørgensen
http://razor.dk

Andreas Kleist Svend~ (09-03-2001)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 09-03-01 14:52

mail@phpguru.dk (Christian Jørgensen) udtrykte:

>// utestet
>function remove_style_tags($input) {
> return eregi_replace(" style=\"[^\"]\"","",$input);

Der mangler et plus "+" så det bliver:

return eregi_replace(" style=\"[^\"]+\"","",$input);

+'et betyder at der matches på 0 eller flere tegn mellem " og ", i det
oprindelige matchedes kun på et enkelt tegn.

>}

--
mvh Andreas...
Nau.dk's nyeste tutorial: "Tabeller i WML"
Tilføjet 20. Februar 2001
http://www.nau.dk/tutorials/tabel/

Christian Jørgensen (09-03-2001)
Kommentar
Fra : Christian Jørgensen


Dato : 09-03-01 14:55

Andreas Kleist Svendsen <nospamusenetpostkasse@nau.dk> wrote:

>Der mangler et plus "+" så det bliver:
>
>return eregi_replace(" style=\"[^\"]+\"","",$input);

hov.. var sq lidt for hurtig :)

--
Christian Jørgensen
http://razor.dk

Thïngmand (09-03-2001)
Kommentar
Fra : Thïngmand


Dato : 09-03-01 17:15

> return eregi_replace(" style=\"[^\"]+\"","",$input);

Hvad betyder [^\"] ?



Andreas Kleist Svend~ (09-03-2001)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 09-03-01 17:37

"Thïngmand" <michael@thingmand.dk> udtrykte:

>Hvad betyder [^\"] ?

Et tegn som ikke er ".

--
mvh Andreas...
Nau.dk's nyeste tutorial: "Tabeller i WML"
Tilføjet 20. Februar 2001
http://www.nau.dk/tutorials/tabel/

Thomas Jespersen (09-03-2001)
Kommentar
Fra : Thomas Jespersen


Dato : 09-03-01 18:52

"Thïngmand" <michael@thingmand.dk> writes:

> > return eregi_replace(" style=\"[^\"]+\"","",$input);
>
> Hvad betyder [^\"] ?

Det virker lidt forvirrende, men noget af det er en del af det
regulære udtryk og noget er ikke.

Det regulære udtryk er skrevet mellem to '"' tegn, derfor skal alle
'"' imellem dem escapes som '\"'. Hvis vi først fjernes disse escapes
ender vi med:

[^"]

Nu kan vi splitte det regulære udtryk ad:

[ ... ]

Match et vilkårligt tegn mellem klammerne (kun et!)

[^ ... ]

Match et vilkårligt tegn, dog ikke hvis det er et tegn der er nævnt
efter '^'.

Så [^"] matcher et tegn der ikke er '"'.

Jonathan Stein (10-03-2001)
Kommentar
Fra : Jonathan Stein


Dato : 10-03-01 15:07

Andreas Kleist Svendsen wrote:

> +'et betyder at der matches på 0 eller flere tegn mellem " og ", i det
> oprindelige matchedes kun på et enkelt tegn.

Er det POSIX-syntaks eller en trykfejl? Normalt matcher + da 1 eller
flere tegn, og * matcher 0 eller flere.

M.v.h.

Jonathan




Peter Brodersen (10-03-2001)
Kommentar
Fra : Peter Brodersen


Dato : 10-03-01 05:25

On Fri, 09 Mar 2001 13:43:09 GMT, mail@phpguru.dk (Christian
Jørgensen) wrote:

>function remove_style_tags($input) {
> return eregi_replace(" style=\"[^\"]\"","",$input);
>}

Første mellemrum kan passende erstattes med [[:space:]]+

(og må jeg så anbefale preg_replace?)


--
- Pede
Professionel nørd

Christian Jørgensen (10-03-2001)
Kommentar
Fra : Christian Jørgensen


Dato : 10-03-01 13:39

Peter Brodersen <professionel@nerd.dk> wrote:

>(og må jeg så anbefale preg_replace?)

Hvorfor egentlig ?

--
Christian Jørgensen
http://razor.dk

Morten Blinksbjerg N~ (10-03-2001)
Kommentar
Fra : Morten Blinksbjerg N~


Dato : 10-03-01 14:09

"Christian Jørgensen" wrote:

> Peter Brodersen <professionel@nerd.dk> wrote:
> >(og må jeg så anbefale preg_replace?)

> Hvorfor egentlig ?

Den er hurtigere...

--
Morten Blinksbjerg Nielsen
http://www.mbn.dk/

Peter Brodersen (10-03-2001)
Kommentar
Fra : Peter Brodersen


Dato : 10-03-01 17:32

On Sat, 10 Mar 2001 12:38:50 GMT, mail@phpguru.dk (Christian
Jørgensen) wrote:

>>(og må jeg så anbefale preg_replace?)
>Hvorfor egentlig ?

Hurtigere, rarere (hvis man vænner sig til perl-like regexes og
switches, etc. - fx brugen af "(.+?)" kan gøre en sjat ting lettere)
og mere fleksibel (den almindelige ereg tillader fx kun op til 256
stk. i en {x,y}-angivelse - og bliver i øvrigt kæmpesløv i tilfælde
med fx .{1,250} - og så er der selvfølgelig brugen af \s, \b, \w, etc.
undervejs)


--
- Pede
Professionel nørd

Søg
Reklame
Statistik
Spørgsmål : 177523
Tips : 31968
Nyheder : 719565
Indlæg : 6408677
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste