php-删除html标签之间的换行符

我正在制作一个表单(html和PHP),该表单是用于编辑网站内容的管理部分的一部分.我想允许用户包括一些基本的html.这很好.我想保留换行符.这也有效.我的问题是,当有人写这样的东西时:

<ul>
<li>item one</li>
<li>item two</li>
</ul>

代码行之间的换行符将保留并在写入时变成BR.这意味着每个LI元素之间都有两倍的间距.现在,可以通过将整个列表部分写在一行上来解决此问题,但是a)会使阅读变得混乱,并且b)教人们使用足够难的代码,更不用说解释多余的换行符了.

我想要的是一种去除所有/ n的方法,但仅限于UL和/ UL标签之间.

解决方法:

该正则表达式删除了< ul>之间的所有换行符/空格.和< / ul>不是< li>之间的文本的一部分和< / li>

/(?<=<ul>|<\/li>)\s*?(?=<\/ul>|<li>)/is

PHP示例:

 $output = preg_replace('/(?<=<ul>|<\/li>)\s*?(?=<\/ul>|<li>)/is', '', $input);

输入:

<ul>
<li>item one</li>
<li>item two</li>
</ul>

输出

<ul><li>item one</li><li>item two</li></ul>

编辑:固定

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...