13.11.2021 08:11:55 pm
В продолжение темы: Метод закрытия незакрытых BBcode, где я писал, что нашел функцию для закрытия незакрытых HTML тегов, немного поправил ее, под незакрытые BBccode и она работала на меня.
В этой теме та самая функция, верее метод с моего класса:
Данный метод найдет все незакрытые HTML теги и добавит недостающие элементы.
В этой теме та самая функция, верее метод с моего класса:
public function closeAllHtmlTags($html)
{
preg_match_all('#<([a-z]+)(?: .*)?(?<![/|/ ])>#iU', $html, $result);
$openedTags = $result[1];
$lenOpened = count($openedTags);
preg_match_all('#</([a-z]+)>#iU', $html, $result);
$closedTags = $result[1];
if (count($closedTags) == $lenOpened)
{
return $html;
}
$openedTags = array_reverse($openedTags);
for ($i = 0; $i < $lenOpened; $i++)
{
if (!in_array($openedTags[$i], $closedTags))
{
$html .= '</' . $openedTags[$i] . '>';
}
else
{
unset ($closedTags[array_search($openedTags[$i], $closedTags)]);
}
}
return $html;
}
Данный метод найдет все незакрытые HTML теги и добавит недостающие элементы.
- Жалоба