[PHP/RegEx] html tags -> lowercase

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Topicstarter
ik wil de htmltags die uppercase staan graag lower case hebben dus:

<A HREF="blaBa.html">HoiHoi</A>
zou moeten worden:
<a href="blaBa.html">HoiHoi</a>

nu is het probleem hoe zet ik de inhoud van de tags om naar lowercase via regex dus.

preg_replace("|<(.*) ([^>]*)>(.*)</\\1>|U", "<".strtolower("\\1").">\\2<".strtolower("\\1").">", $matches1[9][0]);

dit werkt dus niet :(
ik had ook al in de handleiding \L gevonden... helaas doet die het dus ook niet... of ik gebruik hem verkeerd.
om maar op de scriptrequest toer te gaan... weet iemand een oplossing?

Steun Elkaar, Kopieer Nederlands Waar!


Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 17-09 22:12
PHP:
1
2
3
$code = '<FONT SIZE="2"><B>heLLO</B></font>';

echo preg_replace ("/(<\/?)(\w+)([^>]*>)/e", "'\\1'.strtolower('\\2').'\\3'", $code);


de kwote's in $code, daar bij de twee, woorden wel ge-escaped.

Acties:
  • 0 Henk 'm!

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Topicstarter
Sybr_E-N schreef op 07 December 2002 @ 20:15:
PHP:
1
2
3
$code = '<FONT SIZE="2"><B>heLLO</B></font>';

echo preg_replace ("/(<\/?)(\w+)([^>]*>)/e", "'\\1'.strtolower('\\2').'\\3'", $code);


de kwote's in $code, daar bij de twee, woorden wel ge-escaped.
zeer cool, klopt het dat SIZE wel in hoofdletters blijven... want zo komt een a href ook niet lower

Steun Elkaar, Kopieer Nederlands Waar!


Acties:
  • 0 Henk 'm!

  • Sybr_E-N
  • Registratie: December 2001
  • Laatst online: 17-09 22:12
Hmm ja zie dat nu pas...

moet je ff (\w+) weghalen dan doet ie ook SIZE in lowercase.

Acties:
  • 0 Henk 'm!

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Topicstarter
Sybr_E-N schreef op 07 december 2002 @ 21:33:
Hmm ja zie dat nu pas...

moet je ff (\w+) weghalen dan doet ie ook SIZE in lowercase.
bedankt, ook namens de buren :)

Steun Elkaar, Kopieer Nederlands Waar!


Acties:
  • 0 Henk 'm!

  • Anders
  • Registratie: December 2000
  • Laatst online: 13-09 18:52
Werkt nog niet lekker hoor: ook de values van de arguments worden hiermee veranderd (in lowercase weergegeven).

[img]"Alfabet.GIF"[/img]

wordt:

[img]"alfabet.gif"[/img]

Ik spoor veilig of ik spoor niet.


Acties:
  • 0 Henk 'm!

  • Skinkie
  • Registratie: Juni 2001
  • Laatst online: 09-06-2020

Skinkie

Op naar de 500

Topicstarter
Anders schreef op 08 december 2002 @ 03:30:
Werkt nog niet lekker hoor: ook de values van de arguments worden hiermee veranderd (in lowercase weergegeven).

[img]"Alfabet.GIF"[/img]

wordt:

[img]"alfabet.gif"[/img]
Als je een werkende oplossing hebt mag je het zeggen hoor :)

Waarschijnlijk moet dus het stuk tussen " en " ook geescaped worden... maar hoe...

Steun Elkaar, Kopieer Nederlands Waar!


Acties:
  • 0 Henk 'm!

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06 13:31

drm

f0pc0dert

Je moet 'm gaan nesten, denk ik. 1 keer preg_replacen op de tag, en dan replacen door een functie die zelf de attributen er weer uitfiltert en lowercased wat nodig is:

code:
1
2
3
4
5
6
7
8
9
10
11
functie tagToLower ( tag, attributen ) {
   preg_match ( [pattern], [attributen], [attributen_match] );
   voor elke [attributen_match]
      lowercase de attribuutnaam,
      laat de value intact
   return [
       lowercased tag + de attributen
   ]
}

preg_replace ( [pattern], [tagToLower ()], [HTML] );

iets dergelijks.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


Acties:
  • 0 Henk 'm!

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 12:54

Bosmonster

*zucht*

De truc van Sybr_E-N's regexp is overigens de /e, wat staat voor eval (volgens mij ;)).. Hiermee kun je dus die extra functies uitvoeren in je replace.
Pagina: 1