Diskuze: Foreach pro každý řádek stringu
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
Člen
Zobrazeno 17 zpráv z 17.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.
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ť
Promiň, vůbec mi nedošlo, že by byla tato informace potřebná.. String se bere z POSTu z <textarea>
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íš.
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
Me teda vzdy fungovalo
foreach(explode("\n", $_POST["textarea"]) as $line)
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
Presne tak jak hutorím o pár príspevkov vyššie Textarea nie je nič iné ako inpu type="text" len je to krajšie zobrazené pre usera...
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ť.
No to neni uplne pravda 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
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.
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.
Pomohlo nahradit mezery za:  
$text = str_replace(" ", " ", $text);
Zobrazeno 17 zpráv z 17.