Я хочу знать грязную строку или нет. Я использовал этот код:
const ALLOWABLE_TAGS = 'p,strong,em,u,s,blockquote,a,br';
const ALLOWABLE_ATTRS = 'a.href,*.style';
$config = HTMLPurifier_Config::createDefault();
$config->set('HTML.AllowedElements', ALLOWABLE_TAGS);
$config->set('HTML.AllowedAttributes', ALLOWABLE_ATTRS);
$purifier = new HTMLPurifier($config);
$value = '<p style="text-align: center;">Hello!</p>';
$purified_value = $purifier->purify($value);
if (mb_strlen($value) !== mb_strlen($purified_value)) {
echo 'string is dirty';
} else {
echo 'string is clean';
}
Но это не работает, потому что HTMLPurifier удаляет пространство:
$value: <p style="text-align: center;">Hello!</p>
$purified_value: <p style="text-align:center;">Hello!</p>
Пробел между text-align:
и center;
.
Как узнать, грязная строка или нет?