Autor | Zpráva | ||
---|---|---|---|
vojtan Profil |
#1 · Zasláno: 24. 8. 2011, 22:04:04
Mám takový dotaz. Potřebuji vypsat část textu, který se nachází v textovém souboru txt, ten text vypadá nějak takto
... *20*1*Infrapanely realizace*1*0**1314184801**** *23*1*Vzorník mořidel dřevěných rámů ITZ*1**** *24*20*Infrapanely v rodinném domě*1*1*0**1314186458**** ... a já potřebuji vypsat vždy jen tu část, která souvisí s požadovaným id - třeba mám id 23 a potřebuji získat ten popisek, který se k němu vztahuje, tedy - Vzorník mořidel dřevěných rámů ITZ. Jak to mám udělat, existuje na to nějaká funkce? Děkuji za pomoc |
||
Tori Profil |
#2 · Zasláno: 24. 8. 2011, 22:10:48
vojtan:
Jak velký je ten soubor? Řádově desítky řádků, nebo stovky a víc? |
||
vojtan Profil |
#3 · Zasláno: 24. 8. 2011, 22:51:30
Tori:
je tam více než sto řádků |
||
Tori Profil |
#4 · Zasláno: 25. 8. 2011, 08:13:32 · Upravil/a: Tori
vojtan:
Tak potom bych procházela postupně řádky v souboru (fgets) a hledala ID: if (strpos($radek, "*$id*") === 0) { // našli jsme řádek s tímto ID. (musí tu být === ) Kdyby to byl kratší soubor, šlo by ho načíst celý (file_get_contents) a prohledat regulárem. U asi tisíce řádků už bude myslím rychlejší to čtení po řádcích (ale nevím přesně, kde je hranice, takže vyzkoušejte). |
||
Tori Profil |
#5 · Zasláno: 25. 8. 2011, 09:29:54
Tori:
„Tak potom bych procházela postupně řádky v souboru (fgets) a hledala ID:“ Oprava: Jsem to teď zkoušela - dokud se vám soubor vejde do paměti, tak je dvakrát rychlejší file_get_contents + preg_replace (platí pro 100 i 100k řádků). |
||
Časová prodleva: 14 let
|
0