Форматирование строки для отображения в виде списка с использованием php - PullRequest
0 голосов
/ 25 ноября 2018

У меня есть содержимое textarea, хранящееся в строке PHP после того, как оно отправлено пользователем.Я надеюсь, что мне удастся настроить форматирование содержимого этой строки, чтобы оно отображалось в виде списка при повторном отображении.Другими словами, мне нужно было бы вставить UL и /UL в начале и конце соответственно, а также LI и /LI и начало и конец каждой строки.

Прежде чем я связался со своим кодом, мне было интересно, если кто-нибудь знает, возможно ли это вообще?Отправляются ли сообщения о возврате через textarea?Любая помощь / комментарии будут высоко оценены.

[РЕДАКТИРОВАТЬ]

Я определил некоторые переменные, чтобы дать себе все необходимые вещи HTML.Переменная 'repertoire' - это исходная строка, содержащая текст, отправленный с пользовательского ввода.

$repertoire = ($_POST['repertoire']); 

$list_start = '<UL>';
$list_end = '</UL>';
$list_end = '</UL>';
$list_start_line = '<LI>'; 
$list_end_line = '</LI>';

Ниже приведен пример того, что будет представлено пользователем, и, следовательно, что будет представлять собой оригинал $repertoireстрока:

Лучано Берио - Круги

Майк Свобода - Piangero la sorte mia

Николас фон Риттер-Захонь - Новая пьеса

Стефано Джервасони- Из-за Poesie Francesi di Rilke

Так что нам, по крайней мере, понадобится следующее:

$repertoire_formatted = substr_replace($list_start, $repertoire, $list_end);

... но я не знаю, как заменить <LI> на строкуперерывы;также я не могу заранее знать длину строки или каждой строки.

1 Ответ

0 голосов
/ 25 ноября 2018

Вы можете использовать регулярное выражение для выбора каждой строки и обернуть ее в <li></li>

$html = preg_replace("/([^\n]+)/", "<li>$1</li>", $repertoire);
$html = "<ul>\n$html</ul>";

Результат проверки в demo

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...