正则表达式:将句子放入段落标签

时间:2014-10-06 13:46:23

标签: php regex preg-replace

嗨我有很多句子我想将它们转换成段落(用点分割句子)。如何使用正则表达式进行制作?

样品:

"MBB Industries AG: Veröffentlichung gemäß § 26 Abs. 1 WpHG mit dem Ziel der europaweiten Verbreitung MBB Industries AG 09.07.2014 16:48 Veröffentlichung einer Stimmrechtsmitteilung, übermittelt durch die DGAP - ein Unternehmen der EQS Group AG. Für den Inhalt der Mitteilung ist der Emittent verantwortlich."

我想要这个(里面有一个日期 - 注意):

<p>MBB Industries AG: Veröffentlichung gemäß § 26 Abs.</p><p>1 WpHG mit dem Ziel der europaweiten Verbreitung MBB Industries AG 09.07.2014 16:48 Veröffentlichung einer Stimmrechtsmitteilung, übermittelt durch die DGAP - ein Unternehmen der EQS Group AG.</p><p>Für den Inhalt der Mitteilung ist der Emittent verantwortlich.</p>

我能用php使用explode - &gt; foreach - &gt;添加<p>代码。

但我希望能用正则表达式制作它。感谢。

2 个答案:

答案 0 :(得分:2)

中间,

Replace: (\.[ ]+)
With: </p><p>

然后是开始:

Replace: ^"
With: <p>

结束:

Replace: "$
With: </p>

答案 1 :(得分:1)

怎么样:

$str = "MBB Industries AG: Veröffentlichung gemäß § 26 Abs. 1 WpHG mit dem Ziel der europaweiten Verbreitung MBB Industries AG 09.07.2014 16:48 Veröffentlichung einer Stimmrechtsmitteilung, übermittelt durch die DGAP - ein Unternehmen der EQS Group AG. Für den Inhalt der Mitteilung ist der Emittent verantwortlich.";
$str = '<p>' . preg_replace('/(?<!\d)\.(?!\d)/', '.</p><p>', $str) . '</p>';
echo $str,"\n";

<强>输出:

<p>MBB Industries AG: Veröffentlichung gemäß § 26 Abs.</p><p> 1 WpHG mit dem Ziel der europaweiten Verbreitung MBB Industries AG 09.07.2014 16:48 Veröffentlichung einer Stimmrechtsmitteilung, übermittelt durch die DGAP - ein Unternehmen der EQS Group AG.</p><p> Für den Inhalt der Mitteilung ist der Emittent verantwortlich.</p><p></p>