From fb0a26901db443a3e818464cac241b71b1ae841f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?David=20H=C3=BCbner?= Date: Thu, 27 Apr 2017 10:18:32 +0200 Subject: [PATCH] Fix loading of keywords --- src/AppBundle/Util/LDModelParser.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/AppBundle/Util/LDModelParser.php b/src/AppBundle/Util/LDModelParser.php index 317c631..6e39eca 100644 --- a/src/AppBundle/Util/LDModelParser.php +++ b/src/AppBundle/Util/LDModelParser.php @@ -58,7 +58,7 @@ class LDModelParser if (!$firstLine) { $array = explode(' ', ltrim(trim($line, 2), '=_~')); $model['category'] = isset($array[0]) ? $array[0] : ''; - $model['name'] = preg_replace('/ {2,}/', ' ', ltrim($line, '=_')); + $model['name'] = preg_replace('/ {2,}/', ' ', ltrim($line, '_')); $firstLine = true; } @@ -68,7 +68,13 @@ class LDModelParser } // 0 !KEYWORDS , , ..., elseif (strpos($line, '!KEYWORDS ') === 0) { - $model['keywords'] = explode(', ', preg_replace('/^!KEYWORDS /', '', $line)); + $keywords = explode(',', preg_replace('/^!KEYWORDS /', '', $line)); + foreach ($keywords as $keyword) { + $keyword = trim($keyword); + if($keyword) { + $model['keywords'][] = $keyword; + } + } } // 0 Name: .dat elseif (strpos($line, 'Name: ') === 0 && !isset($header['id'])) { @@ -100,7 +106,7 @@ class LDModelParser $id = strtolower($reference['id']); $color = strtolower($reference['color']); - // group subparts by color and id + // group subparts by color and id if (isset($model['subparts'][$id][$color])) { $model['subparts'][$id][$color] = $model['subparts'][$id][$color] + 1; } else {