将文本转换为列表

Mic*_*nst 0 html php regex list

我在将文本转换为列表时遇到了一些麻烦.情况是我从数据库中获得如下文本:

"Hello, my name is michael, my hobbys are:
- computers
- guitar
and some more blabla "
Run Code Online (Sandbox Code Playgroud)

不,我想将列出的点(本例中的计算机和吉他)转换为无序的html列表,因此结果应该如下所示:

"Hello, my name is michael, my hobbys are:
<ul>
<li>computers<li>
<li>guitar</li>
</ul>
and some more blabla ".
Run Code Online (Sandbox Code Playgroud)

我认为最好的解决方案是通过正则表达式来做到这一点,但我的知识并不足以实现这一点.我尝试通过替换所有/\n- /宽度的<li>标签来实现它.但是我如何得到结束</li>,对我来说更加困惑,我如何获得这两个<ul>标签?

提前感谢您的任何建议.

Ble*_*der 5

您的语法与Markdown(一种简单的标记语言)几乎完全相同.唯一的区别是一点点空白:

Hello, my name is Michael, my hobbies are:

 - Computers
 - Guitar

and some more blabla
Run Code Online (Sandbox Code Playgroud)

它被转换为:

<p>Hello, my name is Michael, my hobbies are:</p>

<ul>
    <li>Computers</li>
    <li>Guitar</li>
</ul>

<p>and some more blabla</p>
Run Code Online (Sandbox Code Playgroud)

我认为你会发现一些PHP Markdown项目很有用.