Перенос текста в тег P


Я пытаюсь понять, как обернуть текст следующим образом:

Морби нисл тортор, защитник жизни лаореет ес, лобортис ид ипсум. Целое число шелериск бландит пульвинар. Нам темпус ми эгет нунк лаореет вененатис. Проин виверра, эрат в аккумсан тинкидунт, анте ми курсус элит, не

Конгуэ маурис долор ас элит. Меценат моллис нисль сем семпер орнаре. Целое число nunc purus, dapibus nec dignissim sed, изречение льва. Этиам в ми ут эрате претиум фрингилла сед

В это:

Морби нисл тортор, защитник жизни лаореет ес, лобортис ид ипсум. Целое число шелериск бландит пульвинар. Нам темпус ми эгет нунк лаореет вененатис. Проин виверра, эрат в аккумсан тинкидунт, анте ми курсус элит, не

конгуэ маурис долор ас элит. Меценат моллис нисль сем семпер орнаре. Целое число nunc purus, dapibus nec dignissim sed, изречение льва. Этиам в ми ут эрат претиум фрингилья сед

Обратите внимание на теги p вокруг текста.

Author: Peter Boughton, 2009-06-25

3 answers

Это должно сделать это

$text = <<<TEXT
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

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
TEXT;

$paragraphedText = "<p>" . implode( "</p>\n\n<p>", preg_split( '/\n(?:\s*\n)+/', $text ) ) . "</p>";
 8
Author: Peter Bailey, 2009-06-24 22:20:36

Используйте preg_replace в цикле по всем строкам вашего ввода:

$replacement = preg_replace("/(.*)/", "<p>$1</p>", $current_line);
 3
Author: Jeremy Smyth, 2009-06-24 21:41:50
$str = '<p>'. str_replace('\n\n', '</p><p>', $str) .'</p>';

ИЛИ

$str = '<p>'. preg_replace('\n{2,}', '</p><p>', $str) .'</p>';

Чтобы поймать 2 или более.

 2
Author: Matthew Vines, 2009-06-24 21:51:57