*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace HtmlSanitizer\Visitor;
use HtmlSanitizer\Model\Cursor;
/**
* @author Titouan Galopin
*/
abstract class AbstractNodeVisitor implements NodeVisitorInterface
{
/**
* @var array
*/
protected $config;
public function __construct(array $config = [])
{
$default = $this->getDefaultConfiguration();
$default['allowed_attributes'] = $this->getDefaultAllowedAttributes();
$this->config = array_merge($default, $config);
}
/**
* Return this visitor default allowed attributes and their filters.
*
* @return array
*/
public function getDefaultAllowedAttributes(): array
{
return [];
}
/**
* Return this visitor additional default configuration.
* Can only be of depth 1 as it will be merged with the one provided by the user.
*
* @return array
*/
public function getDefaultConfiguration(): array
{
return [];
}
public function enterNode(\DOMNode $domNode, Cursor $cursor)
{
}
public function leaveNode(\DOMNode $domNode, Cursor $cursor)
{
}
}