小编Rev*_*ven的帖子

在PHP中将文本列表转换为html的正则表达式

我正在尝试编写正则表达式来转换文本块:

* List item
* Another list item
Run Code Online (Sandbox Code Playgroud)

到HTML:

<ul>
    <li>List item</li>
    <li>Another list item</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我知道有一些片段或类可以做到这一点(Markdown,Textile等),但我认为这太过分了:我真的只想要一些基本的功能.到目前为止,我正在尝试:

$text = preg_replace("/\*+(.*)?/i","<li>$1</li>",$text);
Run Code Online (Sandbox Code Playgroud)

但我不知道如何在不使用单独替换的情况下将所有内容包装在<ul>标签中,如下所示:

$text = preg_replace("/(\<li\>(.*)\<\/li\>\n*)+/is","<ul>\n$1\n</ul>\n",$text);
Run Code Online (Sandbox Code Playgroud)

这会干扰其他代码,例如有序列表.肯定有更好的办法.

谢谢.

html php regex

7
推荐指数
1
解决办法
2651
查看次数

标签 统计

html ×1

php ×1

regex ×1