Vous voulez regarder dans le nl2br() de la fonction ainsi que le trim(). L' nl2br()
remplacera le caractère de saut de ligne (\n
) avec <br />
et de la trim()
supprimera tout se terminant \n
ou les caractères espace.
$text = trim($_POST['textareaname']); // remove the last \n or whitespace character
$text = nl2br($text); // replace \n with <br />
Que devrait faire ce que vous voulez.
Mise à JOUR
La raison pour laquelle le code suivant ne fonctionnera pas parce que dans l'ordre pour \n
pour être reconnu, il doit être à l'intérieur de guillemets doubles depuis des guillemets analyser des données à l'intérieur d'eux, où les guillemets simples qu'il prend, littéralement, c'est à dire "\n"
$text = str_replace('\n', '<br />', $text);
Pour y remédier, il serait:
$text = str_replace("\n", '<br />', $text);
Mais il est toujours préférable d'utiliser builtin nl2br()
fonction, PHP fournit.
MODIFIER
Désolé, j'ai pensé que la première question était donc vous pouvez ajouter des retours à la ligne (dans, en effet, cela va modifier la réponse tout à fait un peu, comme anytype d' explode()
va supprimer les sauts de ligne, mais ici, il est:
$text = trim($_POST['textareaname']);
$textAr = explode("\n", $text);
$textAr = array_filter($textAr, 'trim'); // remove any extra \r characters left behind
foreach ($textAr as $line) {
// processing here.
}
Si vous faites de cette façon, vous aurez besoin d'ajouter l' <br />
sur la fin de la ligne, avant que le traitement est fait sur votre propre, comme l' explode()
fonction supprime l' \n
caractères.
Ajout de la array_filter()
de trim()
de rabais sur tout extra - \r
caractères qui peuvent avoir été en attente.