Обернуть текст в тег P

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

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

в это:

<p>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</p>

<p>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>

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

 alex28 окт. 2010 г., 22:35
Вы парень из Коханы! Проверять, выписыватьсяtext::auto_p() :)
 The Pixel Developer29 окт. 2010 г., 18:11
Я тогда не знал о Кохане! Спасибо хехе

Ответы на вопрос(3)

preg_replace внутри цикла по всем строкам ввода:

$replacement = preg_replace("/(.*)/", "<p>$1</p>", $current_line);
 24 июн. 2009 г., 23:45
Это будет работать, так как - по умолчанию -. исключает переводы строки. Конечно, предполагается, что нет «жесткой упаковки». происходит в рамках содержания.
Решение Вопроса

$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>";
 The Pixel Developer25 июн. 2009 г., 00:02
Спасибо, это сработало отлично. У вас все же была ошибка, посмотрите мой код здесь.codepad.org/soU8q5lL
 25 июн. 2009 г., 00:20
Ах да, я вижу. Исправлено, спасибо!
$str = '<p>'. str_replace('\n\n', '</p><p>', $str) .'</p>';

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

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

 24 июн. 2009 г., 23:46
Спасибо, сэр, исправление, я тоже забыл порядок параметров.
 24 июн. 2009 г., 23:48
Затем я сделал бы нечто подобное, используя только preg_replace и regex, чтобы получить 2+ \ n символов. Все зависит от того, насколько хорошо определена структура вашего ввода.
 24 июн. 2009 г., 23:48
(При выполнении вышеупомянутой функции необходимо заменить на регулярное выражение, а не обычную замену строки.)
 24 июн. 2009 г., 23:46
Когда я использую аналогично этому, я часто буду делать \ n \ n + или \ n {2,}, чтобы разрешить два или более символов новой строки, вместо того, чтобы требовать ровно две строки новой строки.
 24 июн. 2009 г., 23:44
Опечатка: $ str = & lt; p & gt ;. str_replace ($ str, '\ n \ n' ;, '/ p; & lt; p & gt; ")". "/ p; g;;"; "

Ваш ответ на вопрос