\n w przetwarzanym tekście nie współpracuje z funkcją preg_replace_callback, z \r działa:
Co zrobić żeby działało?
  1. <?php
  2. $text = "April fools [lista] fff \r\n fff [/lista] 04/01/2002\n";
  3.  
  4. function next_year($matches)
  5. {
  6. $matches[2] = str_replace("\r\n", ' h', $matches[2]);
  7.  
  8.  
  9. return $matches[1].$matches[2].$matches[3];
  10. }
  11. "|(\[lista\])(.*)(\[/lista\])|",
  12. "next_year",
  13. $text);
  14.  
  15. $poka = nl2br($poka);
  16. echo $poka;
  17. ?>

\n w tym przypadku też działa:
  1. <?
  2. $bee = "gg \r\n gg";
  3. $bee = str_replace("\r\n", "hu", $bee);
  4. echo $bee;
  5. ?>


Chcę aby tutaj(w pogrubionym):
  1. "|(\[lista\])(.*)(\[/lista\])|",

był dowolny znak, łącznie z \n. Proszę o pomoc.