Avatar
Ilidanek33
Člen
Avatar
Ilidanek33:

Čaute všichni, chtěl bych se zeptat, jak mám projet každý řádek stringu tak, abych zachoval mezery, které jsou na začátku každého řádku. Ať to zkouším jakkoli, tak mi to zatím vždycky ty mezery smazalo..
Zkoušel jsem to splitnout přes \n ale nepomohlo to..
Předem díky za pomoc :-)

 
Odpovědět 23. listopadu 11:53
Avatar
Mego
Člen
Avatar
Mego:

A ako máš oddelené riadky v stringu? Odkiaľ sa berie ten string? Zo súboru, alebo si ho napísal priamo v PHP, či inak vygeneroval priamo v PHP? Existuje PHP_EOL, čo by malo značiť koniec riadku (EOL=End of line). Takže skús podľa toho ;) Alebo to skús aspoň lepšie opísať

Nahoru Odpovědět  +1 23. listopadu 12:48
Radšej 15 minút skôr, ako 15 sekúnd neskoro...
Avatar
Ilidanek33
Člen
Avatar
Odpovídá na Mego
Ilidanek33:

Promiň, vůbec mi nedošlo, že by byla tato informace potřebná.. String se bere z POSTu z <textarea>

 
Nahoru Odpovědět 23. listopadu 13:05
Avatar
Mego
Člen
Avatar
Mego:

Vyskúšaj, či ti to pôjde cez ten PHP_EOL, aj keď pochybujem. Proste vec z textarei je jeden dlhy string na jeden riadok. To, že ti to textarea podelí na riadky nemusí nič znamenať, totiž v textarei vpravo dole je taký "pipík", ktorý môžeš myšou dragnuť a dropnuť, čím zmeníš jej veľkosť a teda aj počet slov, ktoré sa ti vojdu na riadok. Vyskúšaj si to kľudne. Aj tu, kde píšeš príspevok je taký "pipík". Chyť ho myšou a ťahaj. Tu ide iba hore-dole, ale väčšinou sa dá posúvať aj doprava a doľava, čím zmenšuješ/zväčšuješ počet slov, ktoré ti vojdu na riadok.
Ako jediná a posledná nádej mi príde klávesa enter. Ak niekto v textarei odenteruje, tak to by mohlo byť to PHP_EOL... ale neručím za to, nikdy som niečo také nerobil a ani neskúšal. Vyskúšaj a uvidíš.

Nahoru Odpovědět  -1 23. listopadu 13:24
Radšej 15 minút skôr, ako 15 sekúnd neskoro...
Avatar
Ilidanek33
Člen
Avatar
Odpovídá na Mego
Ilidanek33:

Jak říkáš ten "pipík", tak tohleto nebude mít vliv, jelikož ve VB.NET/C# máš RichTextBox, kterému můžeš nastavit jakoukoli velikost a i když ten text se ti rozdělí na více řádků, tak v kódu ti to potom rozděluje dobře, jelikož v kódu hledáš znak nového řádku, čili \n\r.. Ale na ten PHP_EOL se podívám, takže děkuju

 
Nahoru Odpovědět 23. listopadu 13:30
Avatar
Ilidanek33
Člen
Avatar
Ilidanek33:

Tak PHP_EOL nepomohlo

 
Nahoru Odpovědět 23. listopadu 14:01
Avatar
Jan Bezdíček
Redaktor
Avatar
Odpovídá na Ilidanek33
Jan Bezdíček:

Me teda vzdy fungovalo

foreach(explode("\n", $_POST["textarea"]) as $line)
 
Nahoru Odpovědět 23. listopadu 14:45
Avatar
Ilidanek33
Člen
Avatar
Odpovídá na Jan Bezdíček
Ilidanek33:

Tak v tom případě to nechápu

 
Nahoru Odpovědět 23. listopadu 14:49
Avatar
Jan Bezdíček
Redaktor
Avatar
Odpovídá na Ilidanek33
Jan Bezdíček:

Co na tom nechapes ? funguje mi to ...

foreach(explode("\n", $_POST["textarea"]) as $line) {
        echo $line . "<br>";
}

PS: Samozrejme to funguje, pokud tam das entery ... pokud se ti to rozhazi na radky samo v zavislosti na sirce textarea, tak to nefunguje, protoze je to furt jeden radek

Editováno 23. listopadu 15:01
 
Nahoru Odpovědět 23. listopadu 14:59
Avatar
Mego
Člen
Avatar
Odpovídá na Jan Bezdíček
Mego:

Presne tak jak hutorím o pár príspevkov vyššie :D Textarea nie je nič iné ako inpu type="text" len je to krajšie zobrazené pre usera...

Nahoru Odpovědět 23. listopadu 15:07
Radšej 15 minút skôr, ako 15 sekúnd neskoro...
Avatar
Mego
Člen
Avatar
Odpovídá na Ilidanek33
Mego:

Myslím, že VB.NET a PHP sú dve rozdielne veci a to isté textarea a rich text box, či ako si to nazval. Vizual bejzik som v živote nevidel, takže nemôežm porovnávať.

Nahoru Odpovědět 23. listopadu 15:09
Radšej 15 minút skôr, ako 15 sekúnd neskoro...
Avatar
Jan Bezdíček
Redaktor
Avatar
Odpovídá na Mego
Jan Bezdíček:

No to neni uplne pravda :D v inputu type="text" neoddelis text pomoci enteru, ale potvrdis odeslani formulare. v Textarea ho oddelis, ale opravdu jen tam kde chces ... tzn. tam, kde das enter :D

 
Nahoru Odpovědět 23. listopadu 15:09
Avatar
Mego
Člen
Avatar
Odpovídá na Jan Bezdíček
Mego:

Áno, máš pravdu... na to som nepomyslel :D

Nahoru Odpovědět 23. listopadu 15:14
Radšej 15 minút skôr, ako 15 sekúnd neskoro...
Avatar
Ilidanek33
Člen
Avatar
Odpovídá na Jan Bezdíček
Ilidanek33:

Nechápu to, že mi to nefunguje. Mám ten kód úplně stejný, ale i přesto to smaže mezery, které jsou na začátku řádku.

 
Nahoru Odpovědět 23. listopadu 22:14
Avatar
Mego
Člen
Avatar
Odpovídá na Ilidanek33
Mego:

A dávaš tam enter?

Nahoru Odpovědět 24. listopadu 7:48
Radšej 15 minút skôr, ako 15 sekúnd neskoro...
Avatar
Ilidanek33
Člen
Avatar
Ilidanek33:

Ano.. Mě funguje loop přes řádky, mě jde o to, že mi to maže mezery co jsou na začátku každého řádku.

Editováno 24. listopadu 9:33
 
Nahoru Odpovědět 24. listopadu 9:30
Avatar
Ilidanek33
Člen
Avatar
Ilidanek33:

Pomohlo nahradit mezery za: &nbsp

$text = str_replace(" ", "&nbsp", $text);
Akceptované řešení
+5 Zkušeností
Řešení problému
 
Nahoru Odpovědět 24. listopadu 10:15
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 17 zpráv z 17.