Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php格式化要显示为列表的字符串_Php_Html_String_List_Format - Fatal编程技术网

使用php格式化要显示为列表的字符串

使用php格式化要显示为列表的字符串,php,html,string,list,format,Php,Html,String,List,Format,在用户提交文本区域后,我将其内容存储在PHP字符串中。我希望能够调整该字符串内容的格式,以便在回显时可以显示为列表。换句话说,我需要在每行的开头和结尾分别插入UL和/UL,以及LI和/LI和开头和结尾 在我弄乱我的代码之前,我想知道是否有人知道这是否是可能的?是否通过textarea submit发送回车?如有任何帮助/意见,将不胜感激 [编辑] 我定义了一些变量,为自己提供了所有必要的HTML内容。“repertoire”变量是包含从用户输入发送的文本的原始字符串 $repertoire =

在用户提交文本区域后,我将其内容存储在PHP字符串中。我希望能够调整该字符串内容的格式,以便在回显时可以显示为列表。换句话说,我需要在每行的开头和结尾分别插入UL和/UL,以及LI和/LI和开头和结尾

在我弄乱我的代码之前,我想知道是否有人知道这是否是可能的?是否通过textarea submit发送回车?如有任何帮助/意见,将不胜感激

[编辑]

我定义了一些变量,为自己提供了所有必要的HTML内容。“repertoire”变量是包含从用户输入发送的文本的原始字符串

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

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

…但我不知道如何替换换行符;此外,我无法预先知道字符串或每行的长度。

您可以使用正则表达式选择每一行并将其包装起来


中检查结果是的,这是可能的,请不要弄乱您的代码,并向我们展示您尝试过的内容。它们显示您的字符串是可能的。这是将从文本区域提交的内容。我希望这可能是有可能的格式,而不转换为一个复杂的原因数组。请编辑问题和添加信息后,而不是离开评论,这是一个非常优雅的解决方案!
$repertoire_formatted = substr_replace($list_start, $repertoire, $list_end);
$html = preg_replace("/([^\n]+)/", "<li>$1</li>", $repertoire);
$html = "<ul>\n$html</ul>";