Autor | Zpráva | ||
---|---|---|---|
Musilda Profil |
#1 · Zasláno: 22. 1. 2020, 15:10:55
Hezký den,
potřeboval bych poradit, už si fakt nevím rady. Pomocí imap_fetchbody načtu přílohu emailu, což je csv soubor. Když ho pomocí base64_decode rokóduju, mám řetězec. Problém je v tom, že vůbec nevím, jak z toho vytáhnou tjednotlivé řádky. Pomocí str_getcsv sice získám pole, ale to mi je k ničemu, protože to není po řádcích. Ocením každou radu. |
||
blaaablaaa Profil |
#2 · Zasláno: 22. 1. 2020, 15:30:24
Musilda:
Tak v csv se oddělují řádky normálně novým řádkem, takže stačí udělat explode. |
||
Musilda Profil |
#3 · Zasláno: 22. 1. 2020, 16:14:54
Vyřešeno, rozdělil jsem to přes preg_split.
|
||
blaaablaaa Profil |
#4 · Zasláno: 22. 1. 2020, 17:36:45
Musilda:
Obecný základ je, že pokud jde něco snadno udělat bez regularních výrazů, udělej to bez nich (jak je i v php dokumentaci "If you don't need the power of regular expressions, you can choose faster (albeit simpler) alternatives like explode() or str_split().") |
||
lionel messi Profil |
#5 · Zasláno: 22. 1. 2020, 21:15:02 · Upravil/a: Moderátor (editace znemožněna) 23. 1. 2020, 07:27:13
Musilda:
„Pomocí str_getcsv sice získám pole, ale to mi je k ničemu, protože to není po řádcích.“ Čo nie je, môže ľahko byť. Funkcia str_getcsv prijíma ako druhý argument (nepovinný) jednoznakový oddeľovač (napr. aj PHP_EOL — predefinovaná konštanta symbolu pre koniec riadkov na danej platforme — funguje na Windowse aj Linuxe). Samozrejme, explode je takisto namieste. Mohol by prosím okoloidúci moderátor presunúť vlákno z kategórie Učebnica PHP do sekcie PHP? |
||
Časová prodleva: 5 let
|
0