Может быть, вам нужно проверить, правильно ли сформирована строка.
Я бы использовал такую функцию
function check($string) {
$start =strpos($string, '<');
$end =strrpos($string, '>',$start);
$len=strlen($string);
if ($end !== false) {
$string = substr($string, $start);
} else {
$string = substr($string, $start, $len-$start);
}
libxml_use_internal_errors(true);
libxml_clear_errors();
$xml = simplexml_load_string($string);
return count(libxml_get_errors())==0;
}
Просто предупреждение: html допускает несбалансированную строку, как показано ниже.Это не допустимый фрагмент XML, но это допустимый фрагмент HTML
<ul><li>Hi<li> I'm another li</li></ul>
Отказ от ответственности Я изменил код (без его проверки) .для того, чтобы обнаружить правильно сформированный html внутри строки.
Последнее, хотя, может быть, вы должны использовать strip_tags для контроля ввода пользователя (как я видел в ваших комментариях)