есть такая структура:
serge
{
type = man
position = -0 -1.5
}
viktor
{
type = man
position = 2.888000768576476345264564645000 1.2
}
sasha
{
type = woman
position = 1.5 -2.6
}
masha
{
type = woman
position = 3.1 -1.5
}
Написал код для парсинга:
<?php
$file = file_get_contents('test.config');
preg_match_all('/(?:type = ([[:alnum:]]{0,}))|(?:position = ([[:print:]]{0,}[[:digit:]]{0,}))/', $file, $pos);
unset($pos[0]);
foreach ($pos as $positions) {
$count = count($positions);
for ($i=0; $i < $count; $i++) {
echo $positions[$i]."<br>";
}
}
?>
Он выводит так:
man
man
woman
woman
-0 -1.5
2.888000768576476345264564645000 1.2
1.5 -2.6
3.1 -1.5
man
-0 -1.5
man
2.888000768576476345264564645000 1.2
woman
1.5 -2.6
woman
3.1 -1.5
Понятно что это из-за |, но я не знаю как по другому найти сначало type = man а следом position, в частности не знаю как найти перенос строки.