Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Łamanie lini
Forum PHP.pl > Forum > PHP
daniel1302
Witam, mam problem, mianowicie nie łamie mi lini. Próbowałem tak
  1. $txt = nl2br($txt);
  2. $txt = str_replace('\\n', "<br />", $txt);
  3. $txt = preg_replace('/((.?)+)\n/', '$1<br /></p>', $txt);


i żaden sposób nie działa. Z góry dziękuje
Oto kod funkcji
  1. function textShow($txt)
  2. {
  3. $txt = preg_replace('/\[tex\]((.?)+)\[\/tex\]/', '<br />'.texTransform('$1').'<br />', $txt);
  4. $txt = preg_replace('/\[b\]((.?)+)\[\/b\]/', '<b>$1</b>', $txt);
  5. $txt = preg_replace('/\[i\]((.?)+)\[\/i\]/', '<i>$1</i>', $txt);
  6. $txt = preg_replace('/\[u\]((.?)+)\[\/u\]/', '<u>$1</u>', $txt);
  7. $txt = preg_replace('/\[p\]((.?)+)\[\/p\]/', '<p>$1</p>', $txt);
  8. return $txt;
  9. }
PiotrekM
  1. function textShow($txt)
  2. {
  3. $txt = nl2br($txt);
  4. $txt = preg_replace('/\[tex\]((.?)+)\[\/tex\]/', '<br />'.texTransform('$1').'<br />', $txt);
  5. $txt = preg_replace('/\[b\]((.?)+)\[\/b\]/', '<b>$1</b>', $txt);
  6. $txt = preg_replace('/\[i\]((.?)+)\[\/i\]/', '<i>$1</i>', $txt);
  7. $txt = preg_replace('/\[u\]((.?)+)\[\/u\]/', '<u>$1</u>', $txt);
  8. $txt = preg_replace('/\[p\]((.?)+)\[\/p\]/', '<p>$1</p>', $txt);
  9. return $txt;
  10. }
DiH
W swoje pole spróbuj wpisać:
  1. [b]a[/b]w[b]x[/b]b
Proponowałbym raczej:
  1. "#(.*?)\[b\](.*?[^\[\]])\[/b\](.*?)#i"


Co do łamania linii, to jak kolega wyżej napisał - samo nl2br wystarczy w zupełności. Przejście do nowej linii to najczęściej \r\n.
daniel1302
Mi właśnie nie działa to nl2br
maly_swd
$txt = str_replace("\n", "<br />", $txt);
lub
$txt = str_replace("\r", "<br />", $txt);
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.