PHP function that verify if in a string have broken HTML tags
function broken_tags($str)
{
preg_match_all(”/(<\w+)(?:.){ 0,}?>/”, $str, $v1);
preg_match_all(”/<\/\w+>/”, $str, $v2);
$open = array_map('strtolower', $v1[1]);
$closed = array_map('strtolower', $v2[0]);
foreach ($open as $tag)
{
$end_tag = preg_replace(”/<(.*)/", "“, $tag);
if (!in_array($end_tag, $closed)) return true;
unset($closed[array_search($ end_tag, $closed)]);
}
return false;
} |