Autor | Zpráva | ||
---|---|---|---|
no. 1 Profil * |
#1 · Zasláno: 7. 8. 2008, 17:48:37
Dá se nejak vypsat ze souboru včechny slova začínajíci třeba na písmeno A?
|
||
Nox Profil |
#2 · Zasláno: 7. 8. 2008, 17:51:06
Ano - vytáhneš si obsah souboru, rozdělíš si slova do pole proměnných, seřadíš podle abecedy a vypisuješ tak dlouho, dokud není
první písmeno "B" |
||
no. 1 Profil * |
#3 · Zasláno: 7. 8. 2008, 18:51:56
Ale jak se dají seřadit podle abecedy?
|
||
Taps Profil |
#4 · Zasláno: 7. 8. 2008, 18:57:55
no. 1
zkus se podívat na sort a podobné |
||
Nox Profil |
#5 · Zasláno: 7. 8. 2008, 18:58:23
|
||
karbon Profil * |
#6 · Zasláno: 7. 8. 2008, 19:40:25
Možná by se mohla hodit funkce na rozsekání textu na slova.
|
||
Kajman_ Profil * |
#7 · Zasláno: 7. 8. 2008, 22:41:48
Nox
A co když tam žádné slovo na B nebude? |
||
joe Profil |
#8 · Zasláno: 7. 8. 2008, 23:13:45
Kajman_
:) no. 1 Možná by ani nebylo nutné je řadit podle abecedy, ale projít celé pole (kde máš slova) a dát podmínku, že když první písmeno je A/a, tak si slovo uložíš třeba do dalšího pole... Nevím co by bylo rychlejší, jestli to řadit nebo takhle rovnou projít, ale myslim, že řazení je tam zbytečné? |
||
DoubleThink Profil * |
#9 · Zasláno: 7. 8. 2008, 23:23:55
A co takhle přestat vymýšlet prasárny a použít nástroj vymyšlený přesně pro tohle - regulární výraz?
preg_match('/\bE(.+)\b/Ui',$string, $matches); // vyhledá slova začínající na E |
||
joe Profil |
#10 · Zasláno: 8. 8. 2008, 00:04:39
DoubleThink
Taky mě napadly RE, jen v tom nejsem tak dobrý, abych to sem napsal. Stejně se to ale i pomocí regulérních výrazů musí nějak projít, ne? |
||
no. 1 Profil * |
#11 · Zasláno: 8. 8. 2008, 07:57:46
Dík Doublethik! Už jsem to udelal pomocí for ale tohle bude očividně lepší.
|
||
no. 1 Profil * |
#12 · Zasláno: 8. 8. 2008, 09:53:18
ale nejak mi to nejde. Porad mi to vypisuje 1.
|
||
Str4wberry Profil |
#13 · Zasláno: 8. 8. 2008, 10:15:18
Reakce na DoubleThinka:
Snad preg_match_all, ne? Taktéž nerozumím tomu, proč tam vytváříš subvýraz. |
||
pmg Profil |
#14 · Zasláno: 8. 8. 2008, 10:16:24 · Upravil/a: pmg
Str4wberry
Takto by to šlo? preg_match_all('/\bE.+\b/Ui', $string, $matches); $slova = $matches[0]; |
||
no. 1 Profil * |
#15 · Zasláno: 8. 8. 2008, 11:00:28
Ale porad mi to vypisuje jenom Array()
|
||
Alphard Profil |
#16 · Zasláno: 8. 8. 2008, 11:02:45 · Upravil/a: Alphard
no. 1
tak to pole vypiš, ne? trochu samostatnosti... |
||
nightfish Profil |
#17 · Zasláno: 8. 8. 2008, 11:03:37
„Ale porad mi to vypisuje jenom Array()“
to bude tím, že výsledkem preg_match_all je dvourozměrné pole... stačí se podívat do manuálu |
||
Časová prodleva: 16 let
|
0