Php ile düzensiz divs Fix

0 Cevap php

Şöyle bir sorun var:

Metin benim dize böylece gibi görünüyor:

<div>
    content
    <div>
         <div>
         content
              <div>

         </div>
    </div>

Eğer fark ederseniz bazı divs kaçırıyorum ve bu ben başka bir yerde bu içeriği kullanmak benim tema kırılma riski vardır.

Ne gibi bir problem çözme hakkında gitmek için en iyi yol olacaktır. Bu benim kendi üzerinde ne var ama çoğu zaman yeterince iyi değildir. Bu işlev sabitleme değil sorunu çözmek için çalışır, ama yerine kırık html benim diğer html kıracak olasılığını önlemek için de kutu.

 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;
 }

Daha iyi bir yolu var mı?

0 Cevap