У меня есть файл SVG, в котором я хочу удалить точки, если значения x и y совпадают.
Например: <path d='M2.38922,-128.262 2.38922,-128.262' stroke='#ffff33' />
Пока это моя попытка:
$file = file_get_contents("../maps/test.svg");
foreach(preg_split("/(\r?\n)/", $file) as $line)
{
if(strpos($line, ' d=') !== false)
{
$space = explode(" ",$line);
$space = str_replace("d='M","",$space);
$space = str_replace("'","",$space);
echo "|$space[1]| => ";
echo "|$space[2]|";
if($space[1] == $space[2])
{
echo " X delete duplicate<br>";
unset($line); //<-- does not work!
}
else
echo " O keep<br>";
}
}
Вот страница с кодом: http://176.9.218.179/livemap/livemap.php
Он правильно находит их, но не удаляет строки.
Как бы я удалил эти строки из строки? («delete dup» используется для отладки, на самом деле не распечатывается)
PS: Как этот код может быть написан так, чтобы быть максимально эффективным? (может быть запущен несколько сотен раз)