Autor | Zpráva | ||
---|---|---|---|
Karolín Profil * |
#1 · Zasláno: 9. 5. 2017, 11:09:36
1)
Začínám s HTML a nyní jsem dospěl k ukádání dat do databáze. Chtěl bych si naprogramvoat svůj jednoduchý editor článků a tápu jak ošetřit výpis některých spec. znaků a entyt. Když mám v databázi sloupec "obsah_clanku" (VARCHAR UTF8_czech_ci) a v textu bude např. toto: <h1 class="h">Nadpis<h1> <p>Nějaký odstavec obsahující speciální znaky >< třeba i "uvozovky" a 'apostrofy' a třeba ještě "and" & atd</p> Mám se snažit převádět znaky: ><"&' umístěné mezi tagy na entyty za každou cenu, nebo je všem dnešním prohlížečům toto jedno a zobrazí je korektně? Co doporučí profík, ukládat do databáze surový původní text, nebo text uložit do databáze s entytami, nebo nuceně entyty vytvořit až při výpisu, nebo si s entytami v tomto případě nezatěžovat hlavu? Co je správná volba? Díky. Pozn. Věci jako htmlspecialchars u nekontrolovatelných uživ. vstupů už chápu, ale tady půjde o vkládání dat administrátortem obsahující přímo HTML... 2) Občas se mi stane že text napsaný ve Wordu překopíruju do textarea, uložím do DB, a při následném výpisu se tam objeví jen kostičky... jde o nějaké nucené entyty které vytváří WORD, ale nechápe je můj prohlížeč. Jde nějakou funkcí tyto neběžné entyty podchytit a odmáznout, nebe lépe je nahradit vhodnou HTML entytou? 3) Existuje nějaká automatická PHP funkce na nahrazování "těchto" uvozovek těmi „českými uvozovkami“? |
||
Keeehi Profil |
#2 · Zasláno: 9. 5. 2017, 11:39:58
1) Do databáze vždy surová data. Encodovat entity až na výpisu, pokud je to třeba (právě třeba ty vstupy od uživatele)
Znaky < a > se encodovat musejí. Ostatní mohou být přímo v textu. 2) Nepíš to ve Wordu. Nasaď si nějaký editor přímo do stránky. Navíc ti to bude řešit i správné encodování z 1) 3) Nevím o žádné. V prostém textu by to šlo jednoduše s preg_replace, ale v HTML kódu ne, protože tam je třeba řešit kontexty. |
||
Časová prodleva: 6 let
|
0