Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dzielenie ciągu
Forum PHP.pl > Forum > PHP
Arek00
załóżmy że mam "zdanie z bardzo dłuuuuuuuuugim wyrazem" i chcę to podzielić na linijki. funkcja wordwrap daje coś takiego:

zdanie z bardzo
dłuuuuuuuuugim
wyrazem

a ja chciałbym coś takiego:

zdanie z bardzo dłuuu
uugim wyrazem


czyli muszę wstawić "\n" na określonej pozycji w ciągu (albo lepiej co określoną pozycję). przeglądałem manual ale nie zauważyłem takiej funkcji, czy ktoś wie jak to zrobić?
nospor
Przyjrzyj sie jeszcze raz dokladnie wordwrap:
http://pl.php.net/manual/pl/function.wordwrap.php
i przejrzyj wszystkie parametry wywolania, a szczegolnie cut
Arek00
dobra, podam konkretny przykład:

  1. <?php
  2.  
  3. $tekst = "ASUS A6KM-Q083 TUR64/15.4/80/512/G7300/DVDSM/WI-FI/VID-CAM/BSY";
  4. echo wordwrap($tekst, 30, "<br>", 1);
  5.  
  6. ?>

z tego co zrozumiałem z manuala powinno dać:
Kod
ASUS A6KM-Q083 TUR64/15.4/80/5
12/G7300/DVDSM/WI-FI/VID-CAM/B
SY

a daje:
Kod
ASUS A6KM-Q083
TUR64/15.4/80/512/G7300/DVDSM/
WI-FI/VID-CAM/BSY


czyli funkcja nie dzieli całego ciągu co określoną odległość a poszczególne wyrazy (jak z resztą wskazuje nazwa funkcji) no chyba że ja to źle rozumiem....
siemakuba
No i idąc dalej tropem manuala, znajdujemy funkcję chunk_split" title="Zobacz w manualu php" target="_manual, która w połączeniu z nl2br" title="Zobacz w manualu php" target="_manual da zamierzony efekt:

  1. <?php
  2. $tekst = "ASUS A6KM-Q083 TUR64/15.4/80/512/G7300/DVDSM/WI-FI/VID-CAM/BSY";
  3. echo nl2br(chunk_split($tekst, 10));
  4. ?>

Kod
ASUS A6KM-
Q083 TUR64
/15.4/80/5
12/G7300/D
VDSM/WI-FI
/VID-CAM/B
SY


Swoją drogą wordwrap zachowuje się tu dziwnie - a już na pewno nie tak jak można by się spodziewać.

edit: @nospor: racja, tym razem ja przegapiłem parametr ;>

pozdr.
nospor
@siemakuba, ale nie trzeba nl2br. wystarczy:
  1. <?php
  2. echo chunk_split($tekst,30,'<br />');
  3. ?>
bendi
Jak komuś mało to polecam komentarze do quoted_printable_decode" title="Zobacz w manualu php" target="_manual
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.