Autor | Zpráva | ||
---|---|---|---|
quest Profil |
#1 · Zasláno: 20. 11. 2013, 07:24:48
Dobry den chci se zeptat jestli se daji od sebe oddelit slova oddelena mezerou predavane POSTem..priklad:do pole nekdo napise "cau kamo" a ja potrebuji aby se mi ulozilo treba: $slovo1=cau; $slovo2=kamo; da se to nejak udelat? Moc dekuji za odpovedi..omlouvam se za to ze nepouzivam diakritiku ale pisu to na mobilu.
|
||
maks Profil |
#2 · Zasláno: 20. 11. 2013, 07:40:00
quest:
explode |
||
quest Profil |
#3 · Zasláno: 20. 11. 2013, 16:21:48
maks:
Moc děkuju. |
||
quest Profil |
#4 · Zasláno: 20. 11. 2013, 17:57:49
Mám ještě jeden dotaz..nedalo by se nějak udělat to že by mi to zkontrolovalo jestli se nějaká z proměnných rovná třeba 10? Př: někdo napíše 8 0 12 10 a mně to vyhodi echo "ano"; a když se tam neobjeví 10 tak echo"ne"...ale nechci k tomu použít || ale chci aby mi to porovnalo těch 10 se všemi slovy automaticky.Děkuji za odpověďi.
|
||
DarkMeni Profil |
#5 · Zasláno: 20. 11. 2013, 18:10:53
Tak můžeš použít vyhledávání v řetězci
strpos(); nebo pro složitější vyhledávání preg_match(); s regulerními výrazy a nemusíš to rozdělovat na slova podle mezer
Takže třeba takto: <?php $retezec = 'Ahoj kamo, 8 0 12 10'; $hledam = '10'; $pozice = strpos($retezec, $hledam); if($pozice !== false){ echo 'Desítka tam je'; //Ale v tomto případě to projde i kdyby tam byla třeba 210, jestli chceš najít jen 10 s mezerama okolo tak musíš zkontrolovat ještě znaky před a za nalezenou pozicí nebo použít reg. výrazy }else{ echo 'Desitka tam neni'; } //přes reg. výraz: $nalezeno = preg_match('/ 10 /', $retezec); if($nalezeno){ echo 'Desitka tam je'; }else{ echo 'Desitka tam neni'; } ?> |
||
juriad Profil |
DarkMeni:
A pro nalezení i krajních výskytů: $pozice = strpos(" " . $retezec . " ", $hledam); |
||
quest Profil |
#7 · Zasláno: 20. 11. 2013, 18:19:10
Moc děkuju až přijdu domů tak vyzkouším..fakt rychlé reakce :-) moc dík
|
||
quest Profil |
#8 · Zasláno: 20. 11. 2013, 22:45:01
Dalo by se tam ještě nějak přidat to že by to porovnávalo víc věcí samostatně?
PŘ: $retezec = 'Ahoj kamo, 8 0 12 10'; $nalezeno = preg_match('/ 10 nebo 8 nebo 1 /', $retezec); Asi by se to dalo udělat přes cyklus while ale to už si to rovnou můžu rozepsat a tak hledám nejjednodušší verzi. Děkuji za odpovědi. |
||
juriad Profil |
Ano, jde to. Asi nějak takto:
$retezec = 'Ahoj kamo, 8 0 12 10'; # regex obsahuje v závorce svislítkem oddělené možnosti $nalezeno = preg_match_all('/ (10|8|1) /', ' ' .$retezec . ' ', $vysledky); echo "nalezeno vyledku: ", $nalezeno, "\n"; if($nalezeno > 0) { # pouzijeme $vysledky[1]: zajima nas jen obsah zavorky, ne cely nalezeny podretezec foreach($vysledky[1] as $index => $hodnota) { echo ($index + 1), ". vysledek: ", $hodnota, "\n"; } } |
||
quest Profil |
#10 · Zasláno: 21. 11. 2013, 16:41:10
Děkuji za skvělé odpovědi.Problém vyřešen.
|
||
Časová prodleva: 10 let
|
0