Autor Zpráva
Musilda
Profil
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
Musilda:
Tak v csv se oddělují řádky normálně novým řádkem, takže stačí udělat explode.
Musilda
Profil
Vyřešeno, rozdělil jsem to přes preg_split.
blaaablaaa
Profil
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
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?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0