Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dzielenie ciągu
Arek00
post
Post #1





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 8.11.2005

Ostrzeżenie: (0%)
-----


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ć?
Go to the top of the page
+Quote Post
nospor
post
Post #2





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Przyjrzyj sie jeszcze raz dokladnie wordwrap:
http://pl.php.net/manual/pl/function.wordwrap.php
i przejrzyj wszystkie parametry wywolania, a szczegolnie cut


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Arek00
post
Post #3





Grupa: Zarejestrowani
Postów: 177
Pomógł: 0
Dołączył: 8.11.2005

Ostrzeżenie: (0%)
-----


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....
Go to the top of the page
+Quote Post
siemakuba
post
Post #4





Grupa: Przyjaciele php.pl
Postów: 1 112
Pomógł: 20
Dołączył: 10.04.2005

Ostrzeżenie: (0%)
-----


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.

Ten post edytował siemakuba 31.10.2006, 15:48:37
Go to the top of the page
+Quote Post
nospor
post
Post #5





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




@siemakuba, ale nie trzeba nl2br. wystarczy:
  1. <?php
  2. echo chunk_split($tekst,30,'<br />');
  3. ?>


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
bendi
post
Post #6





Grupa: Zarejestrowani
Postów: 401
Pomógł: 5
Dołączył: 14.09.2003
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Jak komuś mało to polecam komentarze do quoted_printable_decode" title="Zobacz w manualu php" target="_manual


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 11:32