2012-06-02 4 views
0

Я ищу лучший способ проанализировать координаты SVG в X и Y переменных. Координаты преобразования сохраняются в атрибуте строки с форматом "translate(32.84441676851017 11.803819679481) rotate(0)". Мне нужно проанализировать значения $x=32.84441676851017 и $y=11.803819679481.синтаксический анализ координат из строки перевода SVG в PHP

До сих пор я использую эту самозаписываемую функцию, но я думаю, что должен быть более быстрый способ разбора этого?

private function _get_string_between($s, $str1, $str2) 
{ 
    $start = strpos($s, $str1); 
    if ($start === false) { 
    return ''; 
    } 

    $start += strlen($str1); 
    $end = strpos($s, $str2, $start); 
    if ($end === false) { 
    return ''; 
    } 

    return explode(' ', substr($s, $start, $end - $start)); 
}  

ответ

1

Существует функция сканирования, которая может считывать значения с плавающей точкой внутри строки:

sscanf($string, 'translate(%f %f) rotate(0)', $x, $y); 

См sscanf, Demo

Смежные вопросы