Visualizzare testo preso da database con indentazione
Salve,
E' da giorni che sto cercando una soluzione online, ma niente. Avendo il seguente codice:
Codice PHP:
<?php
$conn = new mysqli("localhost", "sevenjeak", "", "my_sevenjeak");
if (isset($_GET["send"])) {
if (!empty($_POST["text"])) {
$txt = htmlspecialchars($_POST["text"]);
$conn->query("UPDATE t1 SET p1 = '$txt' WHERE id = 1");
}
}
?>
<h3>Current text</h3>
<?php
$query = $conn->query("SELECT * FROM t1 WHERE id = 1");
$rs = $query->fetch_array(MYSQLI_ASSOC);
echo nl2br($rs["p1"]);
?>
<h3>Edit text</h3>
<form action="test.php?send" method="post">
<textarea name="text"><?=$rs["p1"] ?></textarea>
<br />
<input type="submit" />
</form>
<?php
$conn->close();
?>
Che come potete notale ha una textarea il qui valore, una volta premuto il submit, viene salvato all'interno di una tabella e visualizzato tramite la funzione nl2br() e all'interno della textarea stessa.
Fin qui tutto ok, il problema si verifica quando, all'interno della textarea inserisco del testo tipo:
Codice:
<div>
prova
</div>
Con la tabulazione ( tre spazi ) all'inizio della seconda riga.
Premendo il pulsante submit è salvando nella tabella, me lo salva correttamente, l'unico problema è chè: l'istruzione echo nl2br($rs["p1"]); mi ritorna il testo cosi:
Codice:
<div>
prova
</div>
Senza i tre spazi all'inizio della seconda riga, cosa che mi mette nel testo stampato all'interno della textarea.
La mia domandà è questa, come faccio a stampare, la stringa con i tre spazi all'inizio della seconda riga?