Stig Johansen wrote:
> Hej alle.
>
> I forbindelse med mit SQL injection 'removal kit', har jeg brug for at kunne
> konvertere tekst til tables.
>
> Baggrund:
> I Query Analyzer kan man få resultsets i en såkaldt grid.
> Det ligner lidt et regneark.
> Ved at klikke select all og copy, kan man paste resultatet over i
> forskellige programmer.
> Hvis man eksempelvis paster det over i en editor, så vil det se sådan her
> ud:
> ----
> titleauthor au_id
> titleauthor title_id
> stores stor_name
> ----
> Her mangler både overskrift og 'tæller'.
>
> Men hvis man paster det over i eksempelvis Excel, kommer det ind i de
> rigtige celler, og det er en smal sag at tilføje overskrift og tællere.
> Det kan man så eksportere/indsætte som HTML.
>
> Men fy for satan, det er grimt, men retfærdigvis skal det siges, at det er
> en '97 version, jeg bruger.
>
> Jeg har lagt en kopi af (work in progress) her:
>
http://w-o-p-r.dk/storm.monitor/SQL.injection/MyHTML.htm
> WARNING! can cause _serious_ braindamage.
>
> I Firefox har jeg en 'cleanup HTML' funktin i tidy, og hvis jeg bruger den,
> omdanner den <table> tags m.m. til små bogstaver, attributter til en class,
> så det er et stykke hen ad vejen.
Tidy, og lidt regulære expressions i en søg/erstat burde være rimelig
muligt at lave.
html = Regex.Replace(html,
@"<[/]?(font|span|xml|del|ins|[ovwxp]:\w+)[^>]*?>", "",
RegexOptions.IgnoreCase);
html = Regex.Replace(html,
@"<([^>]*)(?:class|lang|style|size|face|[ovwxp]:\w+)=(?:'[^']*'|""[^""]*""|[^\s>]+)([^>]*)>","<$1$2>",
RegexOptions.IgnoreCase);
html = Regex.Replace(html,
@"<([^>]*)(?:class|lang|style|size|face|[ovwxp]:\w+)=(?:'[^']*'|""[^""]*""|[^\s>]+)([^>]*)>","<$1$2>",
RegexOptions.IgnoreCase);
return html;
(ovenstående ligner noget ASP iøvrigt)
Kan vel rimelig nemt laves til noget batch kørsel i fx. cygwin, hvis man
er windows bruger :)
Kan helt sikkert også laves i php eller asp :)
>
> Men det jeg godt kunne tænke mig var at ende med en 'ren' table struktur
> helt uden attributter.
>
> Så spørgsmålet er:
> Findes der et program/metode/online service, der gør det lidt lettere at
> danne en <table> ud fra den først nævnte 'tekst - table' struktur ?
> (Jeg har ikke nyere versioner af Office end '97)
Jeg kan da hurtigt sætte en online service op med ovenstående regex,
hvis du ønsker det