webForumDet fria alternativet

HTML -> Valid XHTML

5 svar · 442 visningar · startad av Palle

PalleMedlem sedan apr. 20003 174 inlägg
#1

God morgon! :p

Kunden ska byta från HTML till XHTML och allt content ligger sparat i en databas.
Det jag nu vill försöka göra är en regExp-funktion i ASP som konverterar alla gamla html-taggar till xhtml, samt se till att allt content är valid.

Som tur är har allt content från början genererats av en online-wysiwyg så taggar som använts är ganska begränsade:
<p>,<b>,<i>,<em>,<img>,<ol>,<ul>,<li> och <br>

Har lyckats lösa det mesta, men jag får inte riktigt till ett bra pattern för ett par saker:

  • Sätta rätt ordning på felaktigt nästlade taggar, ex på befintlig kod:
    <p>Lorem <em>ipsum <b>dolor</em></b> sit amet, consectetuer adipiscing elit.</p>
     
  • Kontrollera att alla <p>, utom det allra första i strängen, har ett </p> som närmast föregående granne, ex på befintlig kod:
    <p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit.</p>
    Mauris sagittis rutrum ligula.</p>
     
  • Radera alla tomma taggar, ex på befintlig kod:
    <p>Lorem <em><b></b></em>ipsum dolor <b></b>sit amet, consectetuer adipiscing elit.</p>

Någon med några idéer/förslag på detta? :bire
 
 

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

Hmm, en kommentar: Inget av de felen du nämner har nånsin varit ens valid HTML. Hur har sådan kod hamnat där?

PalleMedlem sedan apr. 20003 174 inlägg
#3

Allt content har tydligen lagts in via en hemmaknackad wysiwyg i deras gamla CMS-lösning,
så tyvärr är koden allt annat än valid just nu. ;)

Erik JuhlinMedlem sedan maj 200010 687 inlägg
#4

Tror inte du kommer långt bara genom att använda regexp.

Det finns väl dock färdiga tidys som man skulle kunna använda sig av.
T.ex. http://tidy.sourceforge.net/

PalleMedlem sedan apr. 20003 174 inlägg
#5

Erik Juhlin skrev:

Tror inte du kommer långt bara genom att använda regexp.

Det finns väl dock färdiga tidys som man skulle kunna använda sig av.
T.ex. http://tidy.sourceforge.net/

Har varit inne och försökt grotta med Tidy innan men inte fått det att fungera ordentligt.
Nu fick jag dock till det, tack för tipset. :bire

nitro2k01Medlem sedan aug. 20039 342 inlägg
#6

Flyttas från Regular expressions!

345 ms totalt · 3 externa anrop · v20260731065814-full.fb544a5a
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
342 ms — hämta tråd, inlägg och bilagor (db)