sql >> Databáze >  >> RDS >> Mysql

uloženy v poli mysql, ale bez zalomení řádku při echo


Při výstupu do textové oblasti musíte volat htmlentities htmlspecialchars pokud váš text obsahuje HTML.

<textarea><?php echo htmlspecialchars($text); ?></textarea>

Tím se převede váš &lt;br /&gt; na &lt;br /&gt; . Pokud ponecháte &lt;br /&gt; nezakódované, budou jednoduše interpretovány jako HTML.

Pokud je vaším cílem zobrazit &lt;br /&gt; nebo jiného HTML v textové oblasti, jak je zapsáno v databázi, musíte escapovat veškerý kód, který by byl jinak interpretován jako HTML.

upravit

Pokud chcete místo <br /> můžete použít str_replace :

<textarea><?php echo str_replace('<br />', "\r\n", $textarea); ?></textarea>

Pamatujte však, že všechny ostatní HTML budou interpretovány a nebudou zobrazeny. Myslím, že byste měli svůj problém vyřešit u zdroje a uložit CRLF do databáze, pokud HTML nepotřebujete.



  1. Pokus o zablokování ActiveRecord3 znovu

  2. Je do MySQL vloženo nesprávné celé číslo (2147483647)?

  3. JPA/Hibernate nemůže vytvořit entitu s názvem Order

  4. Jak vyplnit mezery v datech v MySQL?