正则表达式将段落添加到新行

时间:2016-11-20 21:22:16

标签: php regex preg-match

如何转换此字符串

  

Lorem ipsum dolor坐下来,精神上的精神。 Vivamus pulvinar lorem lectus,vel aliquam est blandit accumsan。 Maecenas nisi eros,ornare euismod rutrum,rhoncus a massa。

     

Hello world

     

< b> Goodbye world< / b>

     

< h2>一些标题< / h2>

在php中使用regex这样的html?

  

< p> Lorem ipsum dolor坐着,精神上的精英。 Vivamus pulvinar lorem lectus,vel aliquam est blandit accumsan。 Maecenas nisi eros,ornare euismod rutrum,rhoncus a massa。< / p>

     

< p> Hello world< / p>

     

< p>< b> Goodbye world< / b>< / p>

     

< h2>一些标题< / h2>

解决方案

您可以找到解决方案here。所有答案都很有用。

2 个答案:

答案 0 :(得分:0)

使用带有preg_replace标志的multiline可以实现此目的。

请参阅this

$str = <<<"MIXED"
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pulvinar lorem    lectus, vel aliquam est blandit accumsan. Maecenas nisi eros, ornare a euismod    rutrum, rhoncus a massa.
Hello world
<b>Goodbye world</b>
MIXED;

$str = preg_replace('/^(.*)$/m',"<p>$1</p>",$str);
echo $str;

答案 1 :(得分:0)

最简单,也是最快速的方法,就是不使用正则表达式; - )

$string= <<<STRING
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus pulvinar
lorem lectus, vel aliquam est blandit accumsan. Maecenas nisi eros, ornare a       
uismod rutrum, rhoncus a massa.

Hello world

<b>Goodbye world</b>
STRING;
echo '<p>' . implode('</p><p>', explode(PHP_EOL . PHP_EOL, $string)) . '</p>';