Hallo.

Ik heb een MySQL database met verschillende teksten erin;

-------------------------------
G ·#? >< Z*··R···$!··$!@4··$!X ·V·` /(···!·6!aQ z#`$z4`5-Eenheid: 60107q·6`:a ;3Adres: Normalaan 0=q·<` a#!2Plaats: Nieuwegein#q· `&a% (Prio: P2)q·(`,a*-.Tijd: 14:20:39/q·.`2a03%KAART5q 4`8a19)HOOFDMENU;q~:`>a3?(DIAGNOSEAq}@`
-------------------------------
E02 eenheid:1830@$adres: azielaan 420@%plaats: utrecht@ prio: p2@ tijd:12:26:06@)kaart@z*hoofdmenu@y,diagnose@p
-------------------------------
G · ? >; Z*·0%···R··0%·R··0%`*·X ·+ $(···!·1!aQ z#`$z4`5)Eenheid: 7q·6`:a ;6Adres: Dorpsstraat 67=q·<` a#!.Plaats: Wilnis#q· `&a% (Prio: P2)q·(`,a*-.Tijd: 05:11:47/q·.`2a03%KAART5q 4`8a19)HOOFDMENU;q~:`>a3?(DIAGNOSEAq}@`
--------------------------------

Zoals je kunt zien staat er iedere keer eenheid, adres, plaats, prio en tijd in. Ik wil die data die daarna staat apart in strings krijgen.
Hoe zou ik dit moeten doen?
De 3 verschillende vormen zoals hierboven komen steeds terug.

Iemand die mij kan helpen?

Met vriendelijke groet,
Daniel Hartman
Hoe staat het in je database en hoe zet je het in je database ?
Hoe heb je het geprobeerd eruit te halen ?
Hij zegt dat het op die manier in zijn database staat.

Ik ben benieuwd waar die data vandaan komt, is het niet handiger om het dan meteen goed in de database te plaatsen?
De data kan niet anders in de database geplaatst worden. Dit is hoe de data binnen komt en dit wordt rechtstreeks in de database geschreven dmv een simpel programmaatje.
ja dat dacht ik ook te lezen maar ik vraag het toch omdat het me anders een raar idee lijkt dat je er raar van op kijk dat het er dan zo uitkomt als het er ook zo in staat..
Ik kijk er niet vreemd van op.
Ik wil een PHP script maken waardoor alleen de data die ik nodig heb eruit komt.
De teksten komen zo bij mij binnen, ik kan hier niets aan veranderen.
Wel een raar programma als die niet de tekst kan aanpassen.
oke kan je bij de database ?
krijg je ze preceis zo binnen zoals hierboven staat vermeld ?

Als het precies zo is zoals hierboven staat vraag ik me ook af met welke code ze het invoeren...
Ik haal deze meldingen uit de lucht.
Ik kan hier echt niets aan veranderen.
Het zal dus met de data moeten zoals die nu is.
Het slaat helemaal nergens op maar het was wel een leuk puzzeltje.

<?php
$arr = array('G ·#? >< Z*··R···$!··$!@4··$!X ·V·` /(···!·6!aQ z#`$z4`5-Eenheid: 60107q·6`:a ;3Adres: Normalaan 0=q·<` a#!2Plaats: Nieuwegein#q· `&a% (Prio: P2)q·(`,a*-.Tijd: 14:20:39/q·.`2a03%KAART5q 4`8a19)HOOFDMENU;q~:`>a3?(DIAGNOSEAq}@`',
'E02 eenheid:1830@$adres: azielaan 420@%plaats: utrecht@ prio: p2@ tijd:12:26:06@)kaart@z*hoofdmenu@y,diagnose@p',
'G · ? >; Z*·0%···R··0%·R··0%`*·X ·+ $(···!·1!aQ z#`$z4`5)Eenheid: 7q·6`:a ;6Adres: Dorpsstraat 67=q·<` a#!.Plaats: Wilnis#q· `&a% (Prio: P2)q·(`,a*-.Tijd: 05:11:47/q·.`2a03%KAART5q 4`8a19)HOOFDMENU;q~:`>a3?(DIAGNOSEAq}@`');

$char = array_merge(range(ord('a'),ord('z')),range(ord('A'),ord('Z')),range(ord('0'),ord('9')),array(32));
foreach($arr as $val)
{
echo 'Eenheid: ' . intval(substr($val, strpos(strtolower($val), 'eenheid:')+8)) . '<br />';
$hlp = substr($val, strpos(strtolower($val), 'adres:')+6);
for($i=0;$i<strlen($hlp);$i++)
{
if(!in_array(ord($hlp[$i]), $char, true)) break;
}
echo 'Adres: ' . substr($hlp, 0, $i) . '<br />';
$hlp = substr($val, strpos(strtolower($val), 'plaats:')+7);
for($i=0;$i<strlen($hlp);$i++)
{
if(!in_array(ord($hlp[$i]), $char, true)) break;
}
echo 'Plaats: ' . substr($hlp, 0, $i) . '<br />';
$hlp = substr($val, strpos(strtolower($val), 'prio:')+5);
for($i=0;$i<strlen($hlp);$i++)
{
if(!in_array(ord($hlp[$i]), $char, true)) break;
}
echo 'Prio: ' . substr($hlp, 0, $i) . '<br />';
echo 'Tijd: ' . (substr($val, strpos(strtolower($val), 'tijd:')+5, +9)) . '<br />';
}
?>

Uitvoer is dit:

Eenheid: 60107
Adres: Normalaan 0
Plaats: Nieuwegein
Prio: P2
Tijd: 14:20:39
Eenheid: 1830
Adres: azielaan 420
Plaats: utrecht
Prio: p2
Tijd: 12:26:06@
Eenheid: 7
Adres: Dorpsstraat 67
Plaats: Wilnis
Prio: P2
Tijd: 05:11:47
Hoelang heb je er over gepuzzeld? ;-)

Reageren