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