[PHP] Nowa linia w tablicy

Dział stworzony do rozmów o programowaniu i tworzeniu stron internetowych. Oprócz tematów związanych z SAIL'em.
Post Reply
User avatar

Topic author
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4202
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

[PHP] Nowa linia w tablicy

#1

Post by Serpent » Wed May 27, 2015 4:52 pm

Jo, mam napisać metodę która ma justować tekst. Niestety mam problem z wywołaniem nowej linii w tekście.

Kod wygląda mniej więcej tak:

Code: Select all

 if ($counter < 1)
        {
            $result = 'Długość justowania musi być wartością większą od 0!';
        }
        else
        {
            while (strlen($string) > $str_cout)
            {
                    $result .= $string[$str_cout];
                    $str_cout += 1; 
                     
                    if ($str_cout % $counter === 0)
                    {
                        // tutaj pojawia się problem gdyż \n nie daje mi efektu nowej linii
                        $result .= "\n";                       
                    }                                
                
            }    
         }       
             
            return $result; // zwraca tablicę znaków
Rezultat

Code: Select all

Result: Gł upi eJu sto wan ieT eks tu
Wie ktoś jak to rozwiązać? ;/
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak

User avatar

Gothuk
Site Administrator
Site Administrator
Poland
Posts: 994
Joined: Tue Sep 04, 2007 6:10 pm
Location: Poland, Warsaw
Contact:

Re: [PHP] Nowa linia w tablicy

#2

Post by Gothuk » Wed May 27, 2015 7:18 pm

Jeżeli chcesz dodać nową linię parsowaną przez przeglądarkę to użyj html - tag "<br/>".
Jeżeli do pliku to wtedy \n albo \r\n.

User avatar

Topic author
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4202
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: [PHP] Nowa linia w tablicy

#3

Post by Serpent » Wed May 27, 2015 7:50 pm

Dobra ale jak ten tag </br> wrzucić w tablicę żeby to wszystko ładnie działało?

Wywołanie echo "<br />" przed returnem powoduje że cała strona zjeżdża mi w dół a nie taki ma być efekt.
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak

User avatar

Gothuk
Site Administrator
Site Administrator
Poland
Posts: 994
Joined: Tue Sep 04, 2007 6:10 pm
Location: Poland, Warsaw
Contact:

Re: [PHP] Nowa linia w tablicy

#4

Post by Gothuk » Wed May 27, 2015 7:55 pm

Code: Select all

                    if ($str_cout % $counter === 0)
                    {
                        // tutaj pojawia się problem gdyż \n nie daje mi efektu nowej linii
                        $result .= "\n";                       
                    }
->

Code: Select all

                    if ($str_cout % $counter === 0)
                    {
                        $result .= "<br />";                       
                    }

User avatar

Topic author
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4202
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: [PHP] Nowa linia w tablicy

#5

Post by Serpent » Wed May 27, 2015 7:58 pm

Result: Gł<br />upi<br />eJu<br />sto<br />wan<br />ieT<br />eks<br />tu

;/
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak

User avatar

Gothuk
Site Administrator
Site Administrator
Poland
Posts: 994
Joined: Tue Sep 04, 2007 6:10 pm
Location: Poland, Warsaw
Contact:

Re: [PHP] Nowa linia w tablicy

#6

Post by Gothuk » Wed May 27, 2015 7:59 pm

Jak to potem wyświetlasz?

User avatar

Topic author
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4202
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: [PHP] Nowa linia w tablicy

#7

Post by Serpent » Wed May 27, 2015 8:02 pm

Wszystko jest zbudowane na podstawie jakiegoś formularza który składa się z kilku plików:
https://github.com/by-examples/zad-stri ... ll/2/files

To jedno z zadań które zrobiłem.
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak

User avatar

Gothuk
Site Administrator
Site Administrator
Poland
Posts: 994
Joined: Tue Sep 04, 2007 6:10 pm
Location: Poland, Warsaw
Contact:

Re: [PHP] Nowa linia w tablicy

#8

Post by Gothuk » Wed May 27, 2015 8:12 pm

Nie znam symfony / ichniejszego twiga ale dokumentacja mówi wszystko -> http://twig.sensiolabs.org/doc/filters/raw.html

Ew. opcja pierwsza z użyciem http://twig.sensiolabs.org/doc/filters/nl2br.html

User avatar

Topic author
Serpent
Soldier level 10
Soldier level 10
Estonia
Posts: 4202
Joined: Tue Jul 07, 2009 9:13 pm
Location: Polska - EuroStan ZSRE
Contact:

Re: [PHP] Nowa linia w tablicy

#9

Post by Serpent » Wed May 27, 2015 8:34 pm

echo nl2br($result, false);

Faktycznie daje mi nową linię, niestety nad całym formularzem.

Zaś:
return nl2br($result, false);

Daje mi taki efekt: Result: ABCD<br> EFGH<br> IJKK<br>
Epickie teksty:
Marek1906: jak zrobic aby sail był zielony?
Kvantovy: Wszystko normalne, wszystko w koło było dziwne
Kvantovy:: To jest fajne, że to nie jest takie głupie
Kvantovy:: remove sos from kanapeczka
Kvantovy:: zdarzają się rzezy które sie filozofom nie śniły
Cenwen: problemem jest gejostwo
"Taki z niego fizyk jak ze mnie baletnica" - Profesor Scholtze o Kvantovym.
JAKBYŁ BYM CZECHEM TO BYM ROZŁOŻYŁ NAMIOT ~Kvanciak

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest