| | |
| Stránka: 1 z 1
| [ Príspevkov: 4 ] | |
Autor | Správa |
---|
Registrovaný: 17.02.14 Prihlásený: 31.03.24 Príspevky: 450 Témy: 198 Bydlisko: Poprad-okolie |
Ahoj, mám projekt ovládania hlasom z webu pre 3rd party zariadenia. Mám na stránke formulár s dvomi metódami vstupu: Input + submit, napíšem ručne čo potrebujem Hlas sa nahráva pokým hovorím a po dorozprávaní sa preloží na string. Nakoľko je to ale niekedy nepresné, musím podmienkami OR prevádzať výsledný string, ktorý sa zapíše do texťáku, aby som mal na strane 3rd party zariadenia iba jednu podmienku. Obe metódy sa spracuvávajú totožne. Tú hlasom spúšťa ajax. Ak mám OR statementy pri if v manuálnom, funguje to OK. Keď to mám pri hlase, nespracuje sa to a do texťáku sa nič nezapíše... Kde môže byť problém, nejaký timeout? FUNGUJE OK, pri manuálnom ešte submit atd.... toto vnútro je identické.Kód: <?php $preklad = $_POST['preklad']; if($preklad == ""){ echo "Prázdne pole ťažko zapíšem :-)!"; }elseif(strlen($preklad) > 50){ echo "Tvoja požiadavka je príliš dlhá!"; }else{ $preklad = htmlspecialchars( $preklad); $preklad = trim( $preklad ); file_put_contents("preklady.txt", $preklad); } ?>
FUNGUJE OK iba pri manuálnom zadaní, pri hlasom sa nevykoná.Kód: <?php $preklad = $_POST['preklad']; if($preklad == ""){ echo "Prázdne pole ťažko zapíšem :-)!"; }elseif(strlen($preklad) > 50){ echo "Tvoja požiadavka je príliš dlhá!"; }else{ $preklad = htmlspecialchars($preklad); $preklad = trim( $preklad ); if ($preklad=="Zapni LED1" || $preklad=="Zapni LED 1" || $preklad=="Zopni LED 1" || $preklad=="Zopni led 1" || $preklad=="Zapni led 1" || $preklad=="Zapni led1" ){ $preklad=="Zapni LED 1"; file_put_contents("preklady.txt", $preklad); }else if ($preklad=="Zapni LED2" || $preklad=="Zapni LED 2" || $preklad=="Zopni LED 2" || $preklad=="Zopni led 2" || $preklad=="Zapni led 2" || $preklad=="Zapni led2"){ $preklad=="Zapni LED 2"; file_put_contents("preklady.txt", $preklad); }else if ($preklad=="Zapni LED3" || $preklad=="Zapni LED 3" || $preklad=="Zopni LED 2" || $preklad=="Zopni led 3" || $preklad=="Zapni led 3" || $preklad=="Zapni led3"){ $preklad=="Zapni LED 3"; file_put_contents("preklady.txt", $preklad); }else if ($preklad=="Zapni LED4" || $preklad=="Zapni LED 4" || $preklad=="Zopni LED 4" || $preklad=="Zopni led 4" || $preklad=="Zapni led 4" || $preklad=="Zapni led4"){ $preklad=="Zapni LED 4"; file_put_contents("preklady.txt", $preklad); }else if ($preklad=="Vypni LED1" || $preklad=="Vypni LED 1" || $preklad=="Vypni led 1" || $preklad=="Vypni led1"){ $preklad=="Vypni LED 1"; file_put_contents("preklady.txt", $preklad); }else if ($preklad=="Vypni LED2" || $preklad=="Vypni LED 2" || $preklad=="Vypni led 2" || $preklad=="Vypni led2"){ $preklad=="Vypni LED 2"; file_put_contents("preklady.txt", $preklad); }else if ($preklad=="Vypni LED3" || $preklad=="Vypni LED 3" || $preklad=="Vypni led 3" || $preklad=="Vypni led3"){ $preklad=="Vypni LED 3"; file_put_contents("preklady.txt", $preklad); }else if ($preklad=="Vypni LED4" || $preklad=="Vypni LED 4" || $preklad=="Vypni led 4" || $preklad=="Vypni led4"){ $preklad=="Vypni LED 4"; file_put_contents("preklady.txt", $preklad); }else if ($preklad=="Zapni" || $preklad=="Zepni" || $preklad=="Zopni" || $preklad=="Zapni všetko" || $preklad=="Zapni diody" || $preklad=="Spusť diody"){ $preklad=="Zapni"; file_put_contents("preklady.txt", $preklad); } else if ($preklad=="Vypni" || $preklad=="Vypnúť" || $preklad=="Vypni všetko" || $preklad=="Vypni diódy"){ $preklad=="Vypni"; file_put_contents("preklady.txt", $preklad); } }
?>
|
|
Registrovaný: 07.04.12 Prihlásený: 02.06.21 Príspevky: 907 Témy: 54 | Napísal ado130: 05.12.2017 23:47 | |
|
Miesto niekoľkých if a or, bolo by vhodnejšie použiť RegEx?
_________________ Notebook: Dell Inspiron 15-7537= i5-4200U|nVidia GT 750M 2GB|RAM 6GB|250GB Samsung 850 EVO|W8.1|Cooler Master NotePal U3 Pc: Asus Rog Strix B360-G | i7-8700 | MSI 1080 Gaming X | Crucial Ballistix 16GB 2666MHz Dual Ranked | Samsung 970 Evo | Crucial MX500 | WD Red | Fera 3 | Arctic F12 Silent | Seasonic Focus Plus 650W Gold | Fractal Design Mini C TG Disk: Western Digital Elements 1TB USB 2.0; Seagate Expansion 2TB USB 3.0 Príslušenstvo: A4tech Bloody V3 V-Track Core 3 + A4tech Bloody B-070; A4tech Bloody B120; A4tech Bloody G501; ATH-M40x; MSI Clutch M40 Monitor: Dell U2515H Mobil: Xiaomi Redmi Note 3 Special Edition |
|
Registrovaný: 17.02.14 Prihlásený: 31.03.24 Príspevky: 450 Témy: 198 Bydlisko: Poprad-okolie |
Možno, žeby sa aj dalo, i keď mám s tým nemám žiadne skúsenosti. Niekedy preloží LED ako led, alebo let a následne niekedy priradí číslo za slovo, medzeru vynechá, alebo niekedy číslo zapíše slovom. Preto tým regexom by to bolo zrejme veľmi komplikované.
|
|
Registrovaný: 07.04.12 Prihlásený: 02.06.21 Príspevky: 907 Témy: 54 | Napísal ado130: 06.12.2017 9:55 | |
|
Stále si myslím, že to je jednoduchšie. Kód: z[ao]pni+ *le[dt]+ *1{1} Možno by to šlo riešiť aj iným patternom. Predpokladám, že všetko dáš do malých znakov, čo trochu nerozumiem prečo nerobíš už aj u seba. Toto nerieši, ak ti číslo napíše stringom, ale to pozerám neriešiš ani u seba v tých podmienkach.
_________________ Notebook: Dell Inspiron 15-7537= i5-4200U|nVidia GT 750M 2GB|RAM 6GB|250GB Samsung 850 EVO|W8.1|Cooler Master NotePal U3 Pc: Asus Rog Strix B360-G | i7-8700 | MSI 1080 Gaming X | Crucial Ballistix 16GB 2666MHz Dual Ranked | Samsung 970 Evo | Crucial MX500 | WD Red | Fera 3 | Arctic F12 Silent | Seasonic Focus Plus 650W Gold | Fractal Design Mini C TG Disk: Western Digital Elements 1TB USB 2.0; Seagate Expansion 2TB USB 3.0 Príslušenstvo: A4tech Bloody V3 V-Track Core 3 + A4tech Bloody B-070; A4tech Bloody B120; A4tech Bloody G501; ATH-M40x; MSI Clutch M40 Monitor: Dell U2515H Mobil: Xiaomi Redmi Note 3 Special Edition |
|
| Stránka: 1 z 1
| [ Príspevkov: 4 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|