Html syntax highlighter v C # .NET
Aplikácia postupne dekóduje jednotlivé tagy. U tých sa uchováva názov tagu, signatúra, atribúty, telo, rodič, pod tagy a typ tagu.
HtmlParser
Polovica aplikácia je tvorená triedou HtmlParser, ktorá dostane ako vstup čisté HTML (alebo čokoľvek s podobnou syntaxou na báze tagov) a vracia hlavné tag ako koreň, ktorý má niekoľko vetiev (väčšinou asi doctype a html). Kontrolujem znak po znaku a keď narazím na znak <, tak indikujú začiatok tagu a postupne sa dekóduje. To znamená, že sa zistí signatúra a typ tagu. Ďalej, keď to nie je comment alebo tzv. Plain text, tak sa zistí názov tagu a jeho atribúty (či je má). Ak je to typ párový, tak sa zistí telo toho tagu (zistí sa koniec tagu a vezme sa vnútro) a zavolá sa znova parsovací metóda, pretože na začiatku tela je určite nejaký tag.
Pozn .: Aj plain text je tu vo forme tagu, pretože aj taký HTML je validný.
<p>First line<br>Second line</p>
HtmlHighlighter
Druhá polovica aplikácia je tvorená touto triedou, ktorá formátuje výsledok parsera. Na začiatku to rieši odsadenie podľa hĺbky tagu. Potom sa rozhoduje, či je to plain text, tak sa len pridá telo toho tagu. Potom sa zavolá metóda pre vloženie signatúry metódy, tá si vnútri zistí ako má signatúra vyzerať, zafarbia atribúty a ich hodnoty a zvýrazní meno tagu. Ak je to tag párový, tak sa zas volá metóda pre všetky jej subtagy s hĺbkou + 1. Až sú všetky subtagy vyfarbené, tak sa pridá ukončovacie tag.
Galéria
Stiahnuť
Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami
Stiahnuté 89x (279.47 kB)
Aplikácia je vrátane zdrojových kódov v jazyku C#