Перенос текста в тег P
Я пытаюсь понять, как обернуть текст следующим образом:
Морби нисл тортор, защитник жизни лаореет ес, лобортис ид ипсум. Целое число шелериск бландит пульвинар. Нам темпус ми эгет нунк лаореет вененатис. Проин виверра, эрат в аккумсан тинкидунт, анте ми курсус элит, не
Конгуэ маурис долор ас элит. Меценат моллис нисль сем семпер орнаре. Целое число nunc purus, dapibus nec dignissim sed, изречение льва. Этиам в ми ут эрате претиум фрингилла сед
В это:
Морби нисл тортор, защитник жизни лаореет ес, лобортис ид ипсум. Целое число шелериск бландит пульвинар. Нам темпус ми эгет нунк лаореет вененатис. Проин виверра, эрат в аккумсан тинкидунт, анте ми курсус элит, не
конгуэ маурис долор ас элит. Меценат моллис нисль сем семпер орнаре. Целое число nunc purus, dapibus nec dignissim sed, изречение льва. Этиам в ми ут эрат претиум фрингилья сед
Обратите внимание на теги p вокруг текста.
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>";
Используйте preg_replace в цикле по всем строкам вашего ввода:
$replacement = preg_replace("/(.*)/", "<p>$1</p>", $current_line);
$str = '<p>'. str_replace('\n\n', '</p><p>', $str) .'</p>';
ИЛИ
$str = '<p>'. preg_replace('\n{2,}', '</p><p>', $str) .'</p>';
Чтобы поймать 2 или более.