Php 将p标记环绕文本(以不同方式处理单线和双线分隔符)

Php 将p标记环绕文本(以不同方式处理单线和双线分隔符),php,Php,我正试图找出如何使用php包装文本,如下所示: Article Morbi nisl tortor, consectetur vitae laoreet eu, lobortis id ipsum. Integer scelerisque blandit pulvinar. Nam tempus mi eget nunc laoreet venenatis. Proin viverra, erat at accumsan tincidunt, ante mi cursus elit, non

我正试图找出如何使用php包装文本,如下所示:

Article

Morbi nisl tortor, consectetur vitae laoreet eu, lobortis id ipsum. Integer scelerisque blandit pulvinar. 
Nam tempus mi eget nunc laoreet venenatis. Proin viverra, erat at accumsan tincidunt, ante mi cursus elit, non

Fogsu
congue mauris dolor ac elit. Maecenas mollis nisl a sem semper ornare. Integer nunc purus, dapibus nec dignissim sed, dictum eget leo. Etiam in mi ut erat pretium fringilla sed
对这样的事情:

<p class=single>Article</p>

<p class="double">
Morbi nisl tortor, consectetur vitae laoreet eu, lobortis id ipsum. Integer scelerisque blandit pulvinar.</p>
<p class="single">Nam tempus mi eget nunc laoreet venenatis. Proin viverra, erat at accumsan tincidunt, ante mi cursus elit, non</p>

<p class="double">Fogsu</p>
<p class="single">congue mauris dolor ac elit. Maecenas mollis nisl a sem semper ornare. Integer nunc purus, dapibus nec dignissim sed, dictum eget leo. Etiam in mi ut erat pretium fringilla sed</p>

文章

Morbi nisl tortor,vitae laoreet eu,lobortis id ipsum。整型节杖布朗迪普尔文纳

南坦普斯-米埃吉特-努克-拉奥里特-维内纳蒂斯。普罗恩·维韦拉(Proin viverra),阿库姆桑·廷西登(accumsan tincidunt)的埃拉特(erat),安特米·库苏斯·埃利特(ante mi cursus elit),非加利福尼亚州

Fogsu

康格莫里斯·多洛ac精英酒店。Maecenas mollis nisl是一家小型企业。整座教堂,庄严肃穆,庄严肃穆。这是一个非常复杂的问题

请注意,单线打断的处理方式不同。谢谢

到目前为止,我的代码是:

print "<p>" . implode( "</p>\n\n<p>", preg_split( '/\n(?:\s*\n)+/', $text ) ) . "</p>";
打印“”。内爆(“

\n\n”,预裂('/\n(?:\s*\n)+/',$text))。“

”;
试试这个:

$lines = explode("\n", $text);
$class = 'single';
foreach ($lines as $line) {
     if ( strlen(trim($line)) == 0) {
       $class = 'double';
     } else {
       printf ('<p class="%s">%s</p>'."\n", $class, $line);
       $class = 'single';
     }
}
$lines=explode(“\n”,$text);
$class='single';
foreach($line作为$line){
如果(strlen(修剪($line))==0){
$class='double';
}否则{
printf(“

%s

”。“\n”,$class,$line); $class='single'; } }
您可以使用CKEditorplugin@dan我已经能够通过检测单断点或双断点来实现包装p标签。但是问题是要同时检测和处理不同的库,但是页面只打印一个带有类single的空p标记。如果我在
explode
语句中按正确的顺序放置参数,这会有所帮助。它。是的,已经看到了,并且已经修复了它。你必须修剪断裂线,看看这个,但是我惊讶地看到你的工作没有修剪。它在我的盒子上只能用装饰条。还是谢谢。修剪是个好主意。
分解
消除了所有的
\n
字符,但有些系统还在换行符处添加了
\r
字符。