Kniha návštěv v ASP bez použití databáze 2.
V druhém pokračování našeho článku o vytvoření vlastní knihy návštěv pomocí ASP bez použití databáze, si ukážeme, jak ve výpisu příspěvku povolit pouze vybrané HTML tagy a jak udělat, aby si uživatel mohl text svého příspěvku zvýraznit vlastní barvou.
Na začátku se ještě vrátím k minulému článku, kde byla původně připojena funkční ukázka a kde bylo možné vyzkoušet, jak kniha návštěv funguje. Protože však zde nebylo však nezakázáno HTML (ukázka byla pro pochopení totožná s popisovaným článkem), jeden čtenář pomocí Javascriptu změnil výstup diskuse a proto byla ukázka ke článku stažena. U dnešního článku však již ukázka bude.
Zákaz provádění HTML tagů
Aby nám někdo nemohl dělat v naší aplikaci neplechu, zakážeme provádějí HTML tagů, čímž mu tuto záškodnickou práci fakticky znemožníme. Jde o to, že pokud nijak neodfiltrujete HTML tagy, uživatel je může vložit a ty se při zobrazení výpisu příspěvku provedou. Stačí tedy, aby uživatel vložit třeba několikrát tagy <Table><TR><TD>, které schválně neukončí, což spolehlivě zlikviduje vzhled stránky.
Funkce „tagy()“ nalezne HTML značky v textu a pokud nejsou povolené, tak je odstraní. Funkci „tagy()“ zavoláme z funkce „nahrentery()“ (viz. minulý článek) voláním „textik = tagy(textik)“ ještě před nahrazováním konců řádků. Jinak bychom si totiž smazali konce řádků (<br>), které jsme si nahradili.
|
V tuto chvíli umí aplikace odfiltrovat všechny HTML tagy kromě tagů pro tučný text (<b></b>), skloněný text (<i></i>), podtržený text (<u</u>) a nový odstavec (<p</p>). Seznam tagů, které chcete mít povolené, si samozřejmě můžete změnit.
Barevný text
Některým čtenářům se může líbit možnost vkládat příspěvky, které můžou mít barevně odlišeny od ostatnich. Pro barevné zvýraznění použijeme tyto značky: pro uvození strukturu {c-xxx} a pro zakončení {/c}. Řetězec xxx může představovat buď jméno barvy nebo její hexadecimální vyjádření #RRGGBB. Pro inspiraci – seznam bezpečných 216 barev, které lze bez obav použít na www stránkách, naleznete zde.
Tato funkce bude podobná té, kterou jsme použili pro nahrazování HTML značek. Nalezneme řetězec {c-barva} a nahradíme jej řetězcem <span style=’color: barva;‘> a poté ještě {/c} řetězcem </span>.
|
Funkci barva(kde) zavoláme z funkce nahrentery() následujícím způsobem:
|
A výše uvedený řádek kódu vložíme za nahrazování HTML značek. Tím je celá část kódu sloužící pro vytvoření barevného textu hotova. Takto bychom mohli dnešní článek ukončit, ale pak jsem si uvědomil, že má naše aplikace má ještě dvě drobné chybičky. Pokud se ve vloženém textu objeví značka tabulátoru, může nám výpis příspěvku zkolabovat. To ošetříme jednoduchým nahrazení tabulátoru za čtyři mezery. Tuto řádku vložíme kamkoliv do funkce nahrentery().
|
Druhá chybička je spíše kosmetická. Když totiž návštěvník nevyplní své jméno nebo e-mail, nevypadá to pěkně. To ošetříme jednoduchou funkcí:
|
Tuto funkci postupně zavoláme dvakrát, jednou pro jméno a jednou pro e-mail. Sestavení řetězce pro zápis do souboru bude potom vypadat takto:
|
Kompletní zdrojové kódy si můžete stáhnout odtud.
Starší komentáře ke článku
Pokud máte zájem o starší komentáře k tomuto článku, naleznete je zde.
Mohlo by vás také zajímat
-
Optimalizace a zlepšení výkonu kódu: tipy a triky
14. srpna 2023 -
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024
Nejnovější
-
Jak chránit webové stránky před Web/AI Scrapingem
27. listopadu 2024 -
Jaký monitor je nejlepší k novému Macu Mini?
25. listopadu 2024 -
Výkonný a kompaktní: ASOME Max Studio s výjimečným poměrem cena/výkon
11. listopadu 2024 -
Šokující data od Microsoftu: Kyberútoky rostou o stovky procent!
8. listopadu 2024
robert
Říj 22, 2010 v 18:11pěkný ale zaroven mi to dlouho travlo než jsem to pochopil:)