<?php
$allowed = ['<b>', '<i>', '<u>', '<em>', '<p>', '<br>', '<table>', '<tr>', '<td>', '<th>', '<tbody>', '<thead>', '<tfoot>', '<ul>', '<li>', '<ol>', '<strong>'];
$expression = '/<[^>]*>/';
preg_match_all($expression, $value, $matches);
foreach ($matches[0] as $tag) {
$tag = str_replace(' />', '>', $tag);
$tag = str_replace('/>', '>', $tag);
$tag = str_replace('</', '<', $tag);
if (!in_array($tag, $allowed)) {
$this->context->buildViolation($constraint->message)
->setParameter('{{ value }}', $value)
->addViolation();
break;
}
}