abonnement Unibet Coolblue Bitvavo
pi_103229600
Hallo,

ik zou graag een applicatie willen maken die gegevens automatisch in een database zet. Dan zou ik een invoerveld willen hebben die "26-11-2011 8:00 - 9:00 wiskunde" omzet in 4 variabelen, nl. datum, begintijd, eindtijd, onderwerp. Dit zou ik eigenlijk nog uitgebreider doen, maar dat is denk ik voor later ;) .

Mijn kennis van PHP is eerlijk gezegd vrij beperkt. Ik heb er ooit wel eens mee gewerkt, en ik weet wel hoe je die variabelen vervolgens in een database kan zetten en vervolgens uit kunt lezen. Het probleem zit er dus in dat een regel herkend moet worden.
pi_103229621
Gebruik preg_split

:)
  dinsdag 18 oktober 2011 @ 12:31:27 #3
136730 PiRANiA
All thinking men are atheists.
pi_103229724
Je zult reguliere expressie moeten gaan schrijven om de data en tijden te herkennen. Tijd wordt bijvoorbeeld
1[0-9]{1,2}[:.][0-9]{2}u?
pi_103229905
Wat eventueel nog kan als de strings steeds hetzelfde formaat hebben om te exploden op een whitespace ( " ").

1
2
3
4
5
6
7
$string = "26-11-2011 8:00 - 9:00 wiskunde";
$array = explode(" ", $string);

$datum = $array[0];
$begintijd = $array[1];
$eindtijd = $array[3];
$vak = $array[4];

EDIT: zag in het PHP topic al dat het variabel is. Mijn excuses, dit topic stond net nog boven PHP/MySQL

[ Bericht 7% gewijzigd door remi1986 op 18-10-2011 12:47:47 ]
  dinsdag 18 oktober 2011 @ 13:01:16 #5
136730 PiRANiA
All thinking men are atheists.
pi_103230748
24-uursklok waar de secondes optioneel zijn:
1^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?$

Data:
1^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$

Meer hier: http://regexlib.com/Displ(...)etectCookieSupport=1
pi_103231370
quote:
3s.gif Op dinsdag 18 oktober 2011 13:01 schreef PiRANiA het volgende:
24-uursklok waar de secondes optioneel zijn:
[ code verwijderd ]

Data:
[ code verwijderd ]

Meer hier: http://regexlib.com/Displ(...)etectCookieSupport=1

Waarom heb ik nu het idee dat TS zich nu heel erg hard achter de oren krabt :P
pi_103231751
quote:
0s.gif Op dinsdag 18 oktober 2011 13:19 schreef Keiichi het volgende:

[..]

Waarom heb ik nu het idee dat TS zich nu heel erg hard achter de oren krabt :P
Dat klopt :@ . Hoe pas ik zulkiets toe?
pi_103231852
Je kan er vanuit gaan dat een tijdsindicatie vaak begint met " om {tijd} " of "op {datum} {tijd}" of "op {datum} om {tijd}". Dat zou je aanknopingspunt kunnen zijn.
pi_103232290
quote:
0s.gif Op dinsdag 18 oktober 2011 13:33 schreef Scorpie het volgende:
Je kan er vanuit gaan dat een tijdsindicatie vaak begint met " om {tijd} " of "op {datum} {tijd}" of "op {datum} om {tijd}". Dat zou je aanknopingspunt kunnen zijn.
Je zou een voorzetsel detectie kunnen invoeren om er achter te komen of er bepaalde woorden gekoppeld zijn aan de tijd. Zo kun je het woord tot gebruiken om aan te geven dat een afspraak een bepaalde tijd duurt.
  dinsdag 18 oktober 2011 @ 13:47:45 #10
12221 Tijn
Powered by MS Paint
pi_103232346
Waarom wil je per se alles in 1 invoerveld? Waarom maak je niet een aantal aparte invoervelden voor de datum en de tijd?
pi_103232491
quote:
5s.gif Op dinsdag 18 oktober 2011 13:47 schreef Tijn het volgende:
Waarom wil je per se alles in 1 invoerveld? Waarom maak je niet een aantal aparte invoervelden voor de datum en de tijd?
Hey, het gaat hier om de mogelijkheid. Hebben wij laatste niet een berg tijd gestoken om een pre-mutatie functie te schrijven waar we helemaal niks aan hebben, maar toch vet was om te schrijven :P

Toch lijkt me het wel vet om een functie te hebben die dit soort dingen allemaal kan detecteren :P
  dinsdag 18 oktober 2011 @ 13:58:13 #12
235552 Mr.Houdoe
Officiële Timur-fanboy
pi_103232703
Op Rememberthemilk.com hebben ze zoiets met data, als je dan "volgende donderdag" intypt o.i.d. detecteert hij dat ook enzo :) Heel vet.
  dinsdag 18 oktober 2011 @ 14:00:53 #13
91039 mstx
2x1/2 = 1/2 x 1/2
pi_103232798
quote:
0s.gif Op dinsdag 18 oktober 2011 13:58 schreef Mr.Houdoe het volgende:
Op Rememberthemilk.com hebben ze zoiets met data, als je dan "volgende donderdag" intypt o.i.d. detecteert hij dat ook enzo :) Heel vet.
Als dat los in 1 veld staat kun je dat heel makkelijk parsen met http://nl.php.net/strtotime (moet je het wel eerst vertalen).
Op donderdag 2 juli 2009 22:41 schreef RTB het volgende:
als ik elk rap"liedje" een kans moest geven was ik aan het eind van dit millennium nog bezig met het tempo waarin die kotshoop uitgebraakt wordt.
👾
pi_103232925
quote:
0s.gif Op dinsdag 18 oktober 2011 14:00 schreef mstx het volgende:

[..]

Als dat los in 1 veld staat kun je dat heel makkelijk parsen met http://nl.php.net/strtotime (moet je het wel eerst vertalen).
Volgens mij moet het te gebruiken zijn als onderdeel van. Bijvoorbeeld: Aankomende donderdag afspraak tandarts om 10:00.

Dit moet dan een afspraak worden om 10:00 op donderdag (nu 20-10-2011) met als titel 'Tandarts'.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')