tantenMedlem sedan nov. 20051 658 inlägg
Finns det något sätt att komma runt valideringsfelet som blir vid en textarea, som hämtar htmlkod?
Exempel:
<textarea name="nytext" class="css"><?=$css?></textarea>
Och då blir källkoden
<textarea name="nytext" class="css"><div id="nyhet">
<p>....osv...
</div></textarea>
Och då vill validatorn förstås att textarean ska stängas före </div>
Bara undrar... det blir inga andra fel, än just valideringen...
metalboyMedlem sedan jan. 2005870 inlägg
Kör $css genom htmlentities() innan utskrift.
tantenMedlem sedan nov. 20051 658 inlägg
Men Tack så mycket, men varför tänkte jag inte så själv :bire :OO
nitro2k01Medlem sedan aug. 20037 630 inlägg
Jag skulle rekommendera htmlspecialchars istället. htmlentities kodar alla tecken som går att koda, medan htmlspecialchars bara kodar de tecken som stör HTML-kod, t ex <, >, & osv. htmlentities kan potentiellt skapa problem med ÅÄÖ om du använder UTF8.
Du säger att allt funkar som det är nu, men fundera på vad som händer om koden du ska redigera innehåller en textarea. Då tar textarean som allt ska ligga i slut redan efter första slut-taggen. T ex:
Här följer kod som ska redigeras:
<textarea>
Inuti kod som redigeras
<textarea>
</textarea> <- Redan här tar den yttre textarean slut
Mer text <- Denna kod hamnar utanför textarean
</textarea> <- Och denna hänger fritt i luften.
metalboyMedlem sedan jan. 2005870 inlägg
nitro2k01 skrev:
Jag skulle rekommendera htmlspecialchars istället. htmlentities kodar alla tecken som går att koda, medan htmlspecialchars bara kodar de tecken som stör HTML-kod, t ex <, >, & osv. htmlentities kan potentiellt skapa problem med ÅÄÖ om du använder UTF8.
Helt korrekt. Jag blandar alltid ihop de två. htmlspecialchars är ett klart mycket bättre val.
tantenMedlem sedan nov. 20051 658 inlägg
Risken är minimal att det ska hända det som du beskriver nitro2k01.
Det är en tjej, som inte gjort något annat än använt frontpage och som nu fått en enda div att träna html-kod i och en fil att ändra css:en i för en nyhetsruta på sin hemsida. Det gör hon inne på en adminsida och hennes försök kommer ut på en plats på hemsidan i en php-fil med include. Lite text och bilder.
Och det har fungerat som det ska, men det retade mig att denna fil som hon jobbade i inte validerade eftersom jag tjatar på henne att kolla vad hon gör i validatorn och försöka förstå och läsa koden och rätta felen... och hålla fingrarna borta från att styla inne i koden... så jag kände mig minst sagt lite skamsen... när jag såg vad validatorn tyckte om min kod, så kan det gå :-)