У меня есть проблема, которая выглядит следующим образом:Fix неровные дивы с PHP
Моя строка текста выглядит так:
<div>
content
<div>
<div>
content
<div>
</div>
</div>
Если вы заметили, что я пропускаю некоторые дивы, и это рискует сломать себе когда я использую этот контент в другом месте.
Что было бы лучшим способом решить проблему, подобную этой. Это то, что у меня есть, но часто это недостаточно. Эта функция пытается решить проблему, не исправляя ее, но вместо этого включите ее, чтобы предотвратить возможность того, что сломанный html сломает мой другой html.
function ($string)
{
$div_open = substr_count($string, "<div");
$div_close = substr_count($string, "</div>");
while ($div_close<$div_open)
{
$string = "$string</div>";
$div_close = substr_count($string, "</div>");
if ($i>1000){echo 'pop 3'; exit;}else{$i++;}
}
while ($div_close>$div_open)
{
$string = "<div>$string";
$div_open = substr_count($string, "<div");
if ($i>1000){echo 'pop 4 '; exit;}else{$i++;}
}
return $string;
}
Есть ли лучший способ?
Мне просто интересно узнать, что может привести к неравномерным тэгам html? – Catfish