2014-09-23 56 views
0

我有一个字符串$文字:如何在PHP中将段落分成两段或更多段落?

$text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam in dui mauris. Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu tellus rhoncus ut eleifend nibh porttitor. Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum laoreet.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam in dui mauris. Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu tellus rhoncus ut eleifend nibh porttitor. Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum laoreet.'; 

现在我想这个字符串分为多个paragraphs.I转换尝试换 - echo wordwrap($text,100,"<br />",true);但它分割每100个字符之后的字符串,并给人一种奇怪的样子因为它不会处理完整的停顿或单词。新段落通常没有组织。

有没有办法在两个或更多格式良好的段落中分段。 我希望我已经说明清楚。

+0

删除最后一个参数或将其设置为false。请参阅文档以防疑惑http://php.net/manual/de/function.wordwrap.php – thpl 2014-09-23 06:48:05

回答

2

您可以使用正则表达式在每X个单词后分割字符串。例如,这会在每50个单词后分割$文本并将它们添加到段落中:

preg_replace('~((?:\S*?\s){50})~', "<p>$1</p>", $text); 
+0

嘿,谢谢我试过这一个它会产生一个小问题 – 2014-09-23 06:55:43

+0

这段代码产生什么问题? – 2014-09-23 06:58:43

+0

也正在打破这个句子。例如Mauris iaculis porttitor posuere。 Praesent id metus massa,ut blandit odio。现在这是一句话,但“毛里斯”一词仍然在第一段,其他动作仍在下一段。我是否已经明确了我的问题? – 2014-09-23 07:02:12

1

查看文档是很好的。 :)

<?php 
$text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam in dui mauris. Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu tellus rhoncus ut eleifend nibh porttitor. Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum laoreet.Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam in dui mauris. Vivamus hendrerit arcu sed erat molestie vehicula. Sed auctor neque eu tellus rhoncus ut eleifend nibh porttitor. Ut in nulla enim. Phasellus molestie magna non est bibendum non venenatis nisl tempor. Suspendisse dictum feugiat nisl ut dapibus. Mauris iaculis porttitor posuere. Praesent id metus massa, ut blandit odio. Proin quis tortor orci. Etiam at risus et justo dignissim congue. Donec congue lacinia dui, a porttitor lectus condimentum laoreet.'; 
echo wordwrap($text,100,"<br />"); 

输出

​​
+0

谢谢@Surjit。我想公平地分割段落。实际上,这是我在stackoverflow上的第一个问题。我想我没有把问题弄清楚。我只需添加一张图片即可清除 – 2014-09-23 07:09:31

+0

这里是面临的问题http://i.stack.imgur.com/esCXS.png – 2014-09-23 07:15:10