2009-06-24 21 views
7

1'm cercando di capire come avvolgere testo come questo:Testo a capo nel tag P

calcio giocatori macro, migliorato la vita laoreet calcio, cartone stesso. termica sedersi cuscino verticale. Per un certo tempo, il mio bisogno ora laoreet. microonde cartone animato era strato alla tastiera, la mia corsa prima che lo sviluppatore non è

Pianificazione Mauris consumatori e l'ambiente. Mecenate giocatori analcoliche del insalata decorano sempre. Integer ora una proteina pura e calcio, ma, ha bisogno frigorifero. Anche per me di affrontare la vita durante il giro

in questo:

< p> calcio giocatori macro, migliorato la vita laoreet calcio, cartone stesso. termica sedersi cuscino verticale. Per un certo tempo, il mio bisogno ora laoreet. microonde cartone animato era strato alla tastiera, la mia corsa prima che lo sviluppatore non è </p>

< p> Pianificazione Mauris consumatori e l'ambiente. Mecenate giocatori analcoliche del insalata decorano sempre. Integer ora una proteina pura e calcio, ma, ha bisogno frigorifero. Anche per me di affrontare la vita durante il giro </p>

Nota i tag P intorno al testo.

+0

Kohana Sei un ragazzo! Scopri 'testo :: auto_p()' :) – alex

+0

1 non sapevano di Kohana al momento! Grazie, hehe –

risposta

8

Questo dovrebbe farlo

$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

Grazie, ha funzionato alla grande. Hai avuto un bug, guarda il mio codice qui. http://codepad.org/soU8q5lL –

+0

Ah, sì, capisco. Risolto il problema, grazie! –

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

O

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

per la cattura di 2 o più.

+0

errore di battitura: $ str = '

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

') '.

'; – racerror

+0

Grazie signore, di fissaggio, ho dimenticato l'ordine dei parametri troppo. Quando si utilizza –

+1

1'm simile a questo, 1'll spesso danno \ n \ n + o \ n {2} per consentire a due o più Newlin, piuttosto che richiedere esattamente due nuove righe. –

3

Usa preg_replace all'interno di un ciclo su tutte le linee in ingresso

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

Ciò funzionerà in quanto - per difetto - il. esclude nuove righe.Ovviamente, suppone che non ci sia un "hard wrapping" che si verifica all'interno del contenuto. –

Problemi correlati