2009-06-24 7 views
7

1'm versuchen, herauszufinden, wie man Text wie folgt wickeln:Wrap Text im P-Tag

Fußballer Makro, verbesserter Leben laoreet Fußball, Karton selbst. thermische aufrecht sitzen Kissen. Für eine gewisse Zeit benötigen, meine jetzt laoreet. Mikrowelle Cartoon Schicht an der Tastatur, mein Laufen vor dem Entwickler war nicht

Planung Mauris Verbraucher und die Umwelt. Maecenas weich Spieler aus dem Salat immer schmücken. Integer jetzt ein reines Protein und Fußball, aber es Kühlschrank brauchen. Auch für mich mit dem Leben auf der Tour zu tun

in dieser:

< p> Fußball-Spieler-Makro, verbesserten Leben laoreet Fußball, Karton selbst. thermische aufrecht sitzen Kissen. Für eine gewisse Zeit benötigen, meine jetzt laoreet. Mikrowelle Cartoon Schicht an der Tastatur, mein Laufen vor dem Entwickler war nicht </p>

< p> Planung Mauris Verbraucher und die Umwelt. Maecenas weich Spieler aus dem Salat immer schmücken. Integer jetzt ein reines Protein und Fußball, aber es Kühlschrank brauchen. Auch für mich mit dem Leben auf der Tour zu tun </p>

Beachten Sie die P-Tags um den Text.

+0

Kohana tun Sie sind ein Kerl! Schauen Sie sich 'Text :: auto_p()' :) – alex

+0

1 nicht zum Zeitpunkt der Kohana wusste! Danke, hehe –

Antwort

8

Dies sollte es

$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>"; 
+0

Danke, das hat super funktioniert. Sie hatten einen Fehler, siehe meinen Code hier. http://codepad.org/soU8q5lL –

+0

Ah, ja, ich verstehe. Behoben, thx! –

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

OR

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

2 oder mehr zu fangen.

+0

Tippfehler: $ str = '

'. ereg_replace ($ str = '\ n \ n', '

'). '

‚; – racerror

+0

Danke Sir, Fixieren, auch ich die Reihenfolge der Parameter vergessen. Wenn –

+1

1'm auf dieses unter Verwendung eines ähnlichen, 1'll oft geben \ n \ n + oder \ n {2} zwei oder mehr Newlin zu ermöglichen, anstatt dass genau zwei Zeilenumbrüche. –

3

Verwenden preg_replace innerhalb einer Schleife über alle Zeilen in der Eingabe

$replacement = preg_replace("/(.*)/", "<p>$1</p>", $current_line); 
+0

Dies wird seit arbeiten - standardmäßig - das. schließt Zeilenumbrüchen.Natürlich wird davon ausgegangen, dass innerhalb des Inhalts keine "harte Umhüllung" auftritt. –