PHP expert |
|
<?php
$lessenrooster = array('<td class="celtitel">Maandag 29-maart-2010</td>', '<td class="celtijd">09:15- 10:00</td>', '<td class="celvak">Persoonlijkheidsleer</td>', '<td class="cellokaal">C076</td>', '<td class="celtijd">10:30- 12:00</td>', '<td class="celvak">Persoonlijkheidsleer</td>', '<td class="cellokaal">T115</td>', '<td class="celtitel">Dinsdag 30-maart-2010</td>', '<td class="celtijd">15:15- 16:45</td>', '<td class="celvak">Diagnostisch Onderzoek 1b</td>', '<td class="cellokaal">C061</td>', '<td class="celtitel">Woensdag 31-maart-2010</td>', '<td class="celtijd">12:00- 13:30</td>', '<td class="celvak">Diagnostisch Onderzoek 1b</td>', '<td class="cellokaal">A235</td>', '<td class="celtijd">13:30- 14:15</td>', '<td class="celvak">Sociale Psychologie</td>', '<td class="cellokaal">C061</td>', '<td class="celtijd">15:15- 16:45</td>', '<td class="celvak">Toegepast Onderzoek 1c</td>', '<td class="cellokaal">A343</td>');
$new_lessenrooster = array();
$index = $sub = -1;
foreach($lessenrooster as $value)
{
if(preg_match('~\<td class="cel(?P<name>[^"]+)"\>(?P<inhoud>[^\<]+)\</td\>~i', $value, $matches))
{
if($matches['name'] == 'titel')
{
$index++;
$new_lessenrooster[$index][$matches['name']] = $matches['inhoud'];
continue;
}
elseif($matches['name'] == 'tijd')
{
$sub++;
$new_lessenrooster[$index][$sub][$matches['name']] = $matches['inhoud'];
continue;
}
else
{
$new_lessenrooster[$index][$sub][$matches['name']] = $matches['inhoud'];
}
}
}
echo '<pre>', print_r($new_lessenrooster), '</pre>';
<?php $lessenrooster = array('<td class="celtitel">Maandag 29-maart-2010</td>', '<td class="celtijd">09:15- 10:00</td>', '<td class="celvak">Persoonlijkheidsleer</td>', '<td class="cellokaal">C076</td>', '<td class="celtijd">10:30- 12:00</td>', '<td class="celvak">Persoonlijkheidsleer</td>', '<td class="cellokaal">T115</td>', '<td class="celtitel">Dinsdag 30-maart-2010</td>', '<td class="celtijd">15:15- 16:45</td>', '<td class="celvak">Diagnostisch Onderzoek 1b</td>', '<td class="cellokaal">C061</td>', '<td class="celtitel">Woensdag 31-maart-2010</td>', '<td class="celtijd">12:00- 13:30</td>', '<td class="celvak">Diagnostisch Onderzoek 1b</td>', '<td class="cellokaal">A235</td>', '<td class="celtijd">13:30- 14:15</td>', '<td class="celvak">Sociale Psychologie</td>', '<td class="cellokaal">C061</td>', '<td class="celtijd">15:15- 16:45</td>', '<td class="celvak">Toegepast Onderzoek 1c</td>', '<td class="cellokaal">A343</td>'); $new_lessenrooster = array(); $index = $sub = -1; foreach($lessenrooster as $value) { if(preg_match('~\<td class="cel(?P<name>[^"]+)"\>(?P<inhoud>[^\<]+)\</td\>~i', $value, $matches)) { if($matches['name'] == 'titel') { $index++; $new_lessenrooster[$index][$matches['name']] = $matches['inhoud']; continue; } elseif($matches['name'] == 'tijd') { $sub++; $new_lessenrooster[$index][$sub][$matches['name']] = $matches['inhoud']; continue; } else { $new_lessenrooster[$index][$sub][$matches['name']] = $matches['inhoud']; } } }
Array
(
[0] => Array
(
[titel] => Maandag 29-maart-2010
[0] => Array
(
[tijd] => 09:15- 10:00
[vak] => Persoonlijkheidsleer
[lokaal] => C076
)
[1] => Array
(
[tijd] => 10:30- 12:00
[vak] => Persoonlijkheidsleer
[lokaal] => T115
)
)
[1] => Array
(
[titel] => Dinsdag 30-maart-2010
[2] => Array
(
[tijd] => 15:15- 16:45
[vak] => Diagnostisch Onderzoek 1b
[lokaal] => C061
)
)
[2] => Array
(
[titel] => Woensdag 31-maart-2010
[3] => Array
(
[tijd] => 12:00- 13:30
[vak] => Diagnostisch Onderzoek 1b
[lokaal] => A235
)
[4] => Array
(
[tijd] => 13:30- 14:15
[vak] => Sociale Psychologie
[lokaal] => C061
)
[5] => Array
(
[tijd] => 15:15- 16:45
[vak] => Toegepast Onderzoek 1c
[lokaal] => A343
)
)
)
( ( [titel] => Maandag 29-maart-2010 ( [tijd] => 09:15- 10:00 [vak] => Persoonlijkheidsleer [lokaal] => C076 ) ( [tijd] => 10:30- 12:00 [vak] => Persoonlijkheidsleer [lokaal] => T115 ) ) ( [titel] => Dinsdag 30-maart-2010 ( [tijd] => 15:15- 16:45 [vak] => Diagnostisch Onderzoek 1b [lokaal] => C061 ) ) ( [titel] => Woensdag 31-maart-2010 ( [tijd] => 12:00- 13:30 [vak] => Diagnostisch Onderzoek 1b [lokaal] => A235 ) ( [tijd] => 13:30- 14:15 [vak] => Sociale Psychologie [lokaal] => C061 ) ( [tijd] => 15:15- 16:45 [vak] => Toegepast Onderzoek 1c [lokaal] => A343 ) ) )
Spreekt voor zich neem ik aan. |