php-yml-parser icon indicating copy to clipboard operation
php-yml-parser copied to clipboard

Расширить возможности парсера

Open kybarg opened this issue 9 years ago • 2 comments

Было бы очень хорошо иметь возможность парсить поля отдельно. например Получить все <param name="color">black</param>

function getParams($name) {
...
}
$parser = new Parser();
$result = $parser->parse($file);

$colors = $result->getParams('color');

kybarg avatar Aug 02 '16 00:08 kybarg

Это очень специфичная задача, поскольку параметры не стандартизованы.

можно встретить такое

<param name="color">черный</param>
<param name="color">белый</param>

или такое

<param name="color">черный,белый</param>

и даже такое:

<param name="color">черный</param>
<param name="color">белый</param>
<param name="color">черный/белый</param>
<param name="color">черно-белый</param>

В итоге становится непонятным что должно быть в результате вызов $result->getParams('color');

sirian avatar Aug 02 '16 11:08 sirian

@sirian Имеено, потому и нужен такой функционал. Получить все значения поля <param name="color">???</param>

var_export($result->getParams('color'));
// output
array(
    0 => 'черный',
    1 => 'белый',
    2 => 'черный/белый',
    3 => 'черно-белый',
    4 => 'черный, белый',
);

Чтобы была возможность анализировать и корректировать эти данный.

kybarg avatar Aug 02 '16 16:08 kybarg