Я не могу понять, почему этот код не работает:
<?php
$text = "<a><li><ul><ol>Hello";
$tags = array('a', 'li', 'ul', 'ol');
$tagcount = count($tags);
$i = 0;
while ($i < $tagcount) {
$opentag = "<".$tags[$i];
$closetag = "</".$tags[$i].">";
if (stripos($text, $opentag)) {
$lastopen = strripos($text, $opentag);
$lastclose = strripos($text, $closetag);
if ($lastopen > $lastclose) {
$text = substr($text, 0, $lastopen);
echo $tags[$i] . " tag was open. ";
} else {
echo $tags[$i] . " tag was closed. ";
} else {
echo $tags[$i] . " tag was not open. ";
$i++;
}
?>
Что он должен сделать, это хотя бы показать, что все теги в массиве $ tags открыты.Он предназначен для использования substr (), чтобы убедиться, что ни один из тегов не открыт, но он не работает.Запуск этого дает:
тег не был открыт.тег li был открыт.тег ul не был открыт.Тэг ol не был открыт.
, хотя все они открыты.Любая помощь будет принята с благодарностью.