web-dev-qa-db-fra.com

Comment exploser un champ Textarea et faire écho chaque ligne séparément, enveloppé avec HTML

Vous devez prendre un champ de texte personnalisé avancé et l'afficher dans mon modèle en séparant chaque ligne séparément. Je veux envelopper chaque ligne de la zone de texte avec HTML, comme un <li>.

J'ai essayé ce qui suit, mais ça ne fonctionne tout simplement pas:

if (isset($instruction_textarea)){
    $arry=explode( "\r\n", $instruction_textarea );
}
for ($i = 0; $i <= count($arry); $i++){
    echo (trim($arry[$i])+"<br/>");
}
1
damrakred

Je voudrais essayer quelque chose comme ça:

$lines = explode("\n", $instruction_textarea); // or use PHP PHP_EOL constant
if ( !empty($lines) ) {
  echo '<ul>';
  foreach ( $lines as $line ) {
    echo '<li>'. trim( $line ) .'</li>';
  }
  echo '</ul>';
}

Ça devrait marcher.

3
Krzysiek Dróżdż

Il est beaucoup plus simple d'utiliser nl2br () comme ceci:

if (isset($instruction_textarea)){
    echo '<li>'. nl2br($instruction_textarea) .'</li>';
}
0
Rich S