【发布时间】:2019-02-15 16:39:22
【问题描述】:
我有一些数据库内容作为变量,我想把双换行符变成<p>...</p>
对于单行换行符我想添加<br />
我可以这样做:
$content = nl2br($content, false);
$content = '<p>' . preg_replace('#(<br>[\r\n\s]+){2}#', '</p><p>', $content) . '</p>';
但是,我需要排除具有 h2、h3、h4、ul 并且在 ul 标记内的段落。但我仍然需要在其他 HTML 标签周围添加 p 标签,例如 <strong> <blockquote> <img> <i> <em> 和 <caption> 等
一个示例文本是:
<h2>Lorem ipsum dolor sit amet, consectetur adipiscing elit</h2>
Vivamus vel tempor turpis, <strong>non rutrum quam</strong>. Suspendisse ac rhoncus felis, eget porta lectus.
Nam vulputate sapien risus, vel vehicula mi volutpat sed.
<ul>
<li>Sed feugiat nibh at nisl eleifend scelerisque.</li>
<li>Aliquam non maximus ipsum. Aliquam erat volutpat.</li>
</ul>
<h3>Praesent eget diam sit amet leo vehicula sagittis at quis tortor</h3>
Nunc nec sem ac nunc tincidunt aliquam ut nec dolor. Nulla facilisi.
<img alt="xxxx" src="xxx.png" class="xxxxx"/>
<caption><i>ccccc</i></caption>
<img alt="xxxx" src="xxx.png" class="xxxxx"/>
<i>ccccc</i>
<strong>Nunc nec sem ac nunc tincidunt aliquam ut nec dolor. Nulla facilisi.</strong>
Vivamus vel tempor turpis, <strong>non rutrum quam</strong>. Suspendisse ac rhoncus felis, eget porta lectus.
Nunc nec
Nunc nec
Nunc nec
<blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">Vivamus vel tempor turpis <a href=""></a></p>— xxxxx (@xxxxxx) <a href="https://twitter.com/xxxx/status/x?ref_src=x">February 15, 2019</a></blockquote>
<script async src="" charset="utf-8"></script>
【问题讨论】:
-
regex101.com/r/2pnbet/1 - 是这样吗?
-
谢谢。几乎可以工作,但它给出了
标签: php regex-negation