Väldigt svårt att söka efter det jag är ute efter, eftersom jag inte riktigt vet hur jag ska förklara detta.
Folk på min sida kan skapa en presentation om sig själv. Om dom skriver:
<html bgcolor="blue">Hej jag är greggan</html>
så har jag fixat så att det byts ut mot:
<table width="100%" bgcolor="blue">Hej jag är greggan</html>
Så långt är det inga problem.
Problemet uppstår när folk vill jävlas lite och skriver
</html><html bgcolor="blue">Hej jag är greggan</html>
Eftersom då avslutas min <table> som det här visas i vilket innebär att allting hamnar mycket längre ner och ser väldigt konstingt ut.
Nu undrar jag om jag på något sätt kanske kan leta igenom textrutan innan dom skickar in det i databasen och plocka bort alla </html> som kommer innan <html> och kanske också även se till att det bara finns en </html>. Dessutom undrar jag om det finns något sätt att avsluta taggar som folk glömt att avsluta. t.ex om nån skriver <center>centrerat! och missar </center>
Några brqa förslag? Det behöver inte göras innan det skickas in i databasen, det kan även göras när det hämtas ut ur databasen, det spelar ingen större roll.
Antingen byter du ut alla <>-taggar mot alternativa []-taggar eller har du kvar <> men kör Server.HTMLEncode på inputen och byter bara ut de taggar som du vill tillåta.
surfar runt lite inne på http://www.regexlib.com
där hittar jag regular expressions som hittar öppna och stängde taggar. Då fick jag idén att om jag kör två stycken regular expressions, en som letar efter öppna, en som letar efter stängda. Sedan räknar man dessa och jämför, om det inte är lika många dvs en mer öppen än stängd så ger man meddelandet "Du har inte stängt alla taggar i din kod"
låter det som en bra idé?
Hur ska jag göra för att räkna resultaten från regexp?