Как разбить текстовое поле textarea и вывести каждую строку отдельно, обернув в HTML

23 июн. 2013 г., 22:44:08
Просмотры: 17.4K
Голосов: 2

Необходимо взять текстовое поле textarea из Advanced Custom Fields и вывести его в шаблоне, разбив на отдельные строки. Каждую строку нужно обернуть в HTML, например в <li>.

Пробовал следующий код, но он не работает:

if (isset($instruction_textarea)){
    $arry=explode( "\r\n", $instruction_textarea ); // Разбиваем текст по переносам строк
}
for ($i = 0; $i <= count($arry); $i++){
    echo (trim($arry[$i])+"<br/>"); // Выводим каждую строку с переносом
}
0
Все ответы на вопрос 1
1

Я бы попробовал что-то вроде этого:

$lines = explode("\n", $instruction_textarea); // или используйте PHP константу PHP_EOL
if ( !empty($lines) ) {
  echo '<ul>';
  foreach ( $lines as $line ) {
    echo '<li>'. trim( $line ) .'</li>';
  }
  echo '</ul>';
}

Это должно сработать.

23 июн. 2013 г. 23:19:35
Комментарии

PHP_EOL относится к символу конца строки на сервере, а не у клиента, отправившего данные. Они могут различаться.

Andy  Gee Andy Gee
14 февр. 2021 г. 05:53:45