directivePool = $directivePool; } /** * Compiles the Element node * * @param \DOMAttr $node * @param DataObject $processedObject * @return void */ public function compile(\DOMAttr $node, DataObject $processedObject) { foreach ($this->directivePool as $directive) { $node->value = preg_replace_callback( $directive->getPattern(), function ($match) use ($directive, $processedObject) { return $directive->execute($match, $processedObject); }, $node->value ); } } }