Автоматически двойная область текста
У меня есть текстовая область, которая позволяет пользователю вводить несколько строк текста. Я хотел бы, чтобы все в текстовом поле автоматически делалось с двойным интервалом. Я использую nl2br для вывода текста и показать интервал.
Допустим, пользователь вводит:
красный
синий
зеленый
Я хотел бы функцию nl2br для вывода
красный
синий
зеленый
Мне также нужно было бы иметь возможность обрабатывать двойные пробелы (то есть, если пользователь уже вводит двойной пробел, я не хочу больше.
Есть идеи, как это сделать? Я бы предпочел сделать это на странице, которая позволяет пользователю вводить текст, если это возможно. Спасибо!
3 ответа
Использование str_replace() и PHP_EOL:
$str = 'red
blue
green';
$str = str_replace(PHP_EOL, '<br><br>', $str);
echo $str;
РЕДАКТИРОВАТЬ: Использование регулярных выражений:
$str = 'red
blue
green
blue';
$str = preg_replace(array('/(\r?\n)+/', '/\r?\n/'),array(PHP_EOL,'<br><br>'), $str);
echo $str;
$str = str_replace('<br />', '<br /><br />', nl2br($str));
Это сделает <br />
отмечает все окончания строк, а затем удваивает их.
$str = nl2br(str_replace(PHP_EOL, '<br><br>', $str));
echo $str;