public function getValuesFromExtractor(ExtractorInterface $extractor) { $values = array(); $matchers = array('type-font-family' => 'setFontFamily', 'type-font-weight' => 'setFontWeight', 'type-text-decoration' => 'setTextDecoration', 'type-text-transform' => 'setTextTransform', 'type-font-style' => 'setFontStyle', 'type-color' => 'setColor', 'type-font-size' => 'setFontSize', 'type-letter-spacing' => 'setLetterSpacing', 'type-line-height' => 'setLineHeight'); foreach ($matchers as $find => $setFunc) { $vars = $extractor->extractMatchingVariables('.+\\-' . $find); foreach ($vars as $name => $value) { if ($find == 'type-color') { $cv = ColorStyle::parse($value); $value = $cv instanceof ColorValue ? $cv : null; } elseif (in_array($find, array('type-font-size', 'type-letter-spacing', 'type-line-height'))) { $sv = SizeStyle::parse($value); $value = $sv instanceof SizeValue ? $sv : null; } if ($value !== null) { $name = substr($name, 0, -strlen($find)); if (!isset($values[$name])) { $values[$name] = new TypeValue($name); } call_user_func(array($values[$name], $setFunc), $value); } } } return $values; }
public function getValuesFromExtractor(ExtractorInterface $extractor) { $values = array(); $vars = $extractor->extractMatchingVariables('.+\\-size'); foreach ($vars as $name => $value) { $sv = static::parse($value, substr($name, 0, -strlen('-size'))); if (is_object($sv)) { $values[] = $sv; } } return $values; }
public function getValuesFromExtractor(ExtractorInterface $extractor) { $values = array(); $vars = $extractor->extractMatchingVariables('.+\\-image'); foreach ($vars as $name => $value) { $value = trim($value, "'\""); $uri = $extractor->normalizeUri($value); $iv = new ImageValue(substr($name, 0, -strlen('-image'))); $iv->setUrl($uri); if (is_object($iv)) { $values[] = $iv; } } return $values; }