Witam !
Używam nl2br() do zamienienia \n na <br />
Jednak efekt nie jest taki jak bym chciał aby był, bo potrzebuję jeszcze podział na akapity.

Otrzymuję:
  1. Wers 1<br />
  2. Wers 2 <br />
  3. Wers 3 <br />
  4. <br />
  5. Wers kolejny w nowym akapicie<br />
  6. Coś dalej<br />


A ma być:
  1. <p>Wers 1<br />
  2. Wers 2 <br />
  3. Wers 3</p>
  4. <p>Wers kolejny w nowym akapicie<br />
  5. Coś dalej</p>


Jedyne co znalazłem to: http://algorytmy.pl/?id=2113
Jednak konta nie posiadam smile.gif

Jak sprawdzić czy są 2 <br /> lub więcej ? I jak zamienić to potem tak aby rozpocząć akapit na początku i gdzie są 2 <br /> lub więcej zakończyć akapit i rozpocząć nowy dla następnego i na koniec zakończyć jeszcze ? smile.gif
Pozdrawiam i czekam na wskazówki smile.gif

Znalazłem coś takiego:
  1. <?php
  2. function nls2p($str)
  3. {
  4. return str_replace('<p></p>', '', '<p>'
  5. . preg_replace('#([\r\n]\s*?[\r\n]){2,}#', '</p>$0<p>', $str)
  6. . '</p>');
  7. }
  8. ?>
  9.  
  10. Turns two or more consecutive newlines (separated by possible white space) into a <p>...</p>.
  11.  
  12. Pass result to regular nl2br() to add <br/> to remaining nl's, eg,
  13.  
  14. <?php
  15. echo nl2br(nls2p("Paragraph1\n\nParagraph2\n line1\n line2\n"));
  16. ?>
  17.  
  18. result:
  19.  
  20. <p>Paragraph1</p>
  21. <p>Paragraph2<br/>
  22. line1<br/>
  23. line2<br/></p>

Jednak to zarówno na hostingu (llinux) i xampp (win) nie działa tak jak autor napisał
Otrzymuję na obu serwerach:
  1. <p>Paragraph1<br />
  2. <br />
  3. Paragraph2<br />
  4. line1<br />
  5. line2<br />
  6. </p>