title: Nested ULs wrapping
body: <p>I got an HTML string that I need to parse (to be used in Flash), by wrapping nested UL tags by a span with incremented <code>left-margin</code> value based on nesting level.</p>
  
  <p><strong>Before:</strong></p>
  
  <pre><code>&lt;ul&gt;
      &lt;li&gt;Item one&lt;/li&gt;
      &lt;li&gt;Item two:
          &lt;ul&gt;
              &lt;li&gt;One&lt;/li&gt;
              &lt;li&gt;Two
                  &lt;ul&gt;
                      &lt;li&gt;One&lt;/li&gt;
                      &lt;li&gt;Two&lt;/li&gt;
                  &lt;/ul&gt;
              &lt;/li&gt;
          &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Item three
          &lt;ul&gt;
              &lt;li&gt;One&lt;/li&gt;
              &lt;li&gt;Two&lt;/li&gt;
          &lt;/ul&gt;
      &lt;/li&gt;
      &lt;li&gt;Item four&lt;/li&gt;
  &lt;/ul&gt;
  </code></pre>
  
  <p><strong>After:</strong></p>
  
  <pre><code>&lt;span style="left-margin:0px"&gt;
      &lt;ul&gt;
          &lt;li&gt;Item one&lt;/li&gt;
          &lt;li&gt;Item two:
              &lt;span style="left-margin:30px"&gt;
                  &lt;ul&gt;
                      &lt;li&gt;One&lt;/li&gt;
                      &lt;li&gt;Two
                          &lt;span style="left-margin:60px"&gt;
                              &lt;ul&gt;
                                  &lt;li&gt;One&lt;/li&gt;
                                  &lt;li&gt;Two&lt;/li&gt;
                              &lt;/ul&gt;
                          &lt;/span&gt;
                      &lt;/li&gt;
                  &lt;/ul&gt;
              &lt;/span&gt;
          &lt;/li&gt;
          &lt;li&gt;Item three
              &lt;span style="left-margin:30px"&gt;
                  &lt;ul&gt;
                      &lt;li&gt;One&lt;/li&gt;
                      &lt;li&gt;Two&lt;/li&gt;
                  &lt;/ul&gt;
              &lt;/span&gt;
          &lt;/li&gt;
          &lt;li&gt;Item four&lt;/li&gt;
      &lt;/ul&gt;
  &lt;/span&gt;
  </code></pre>
  
  <p>Note the incremented value: 0, 30, 60...</p>
  
  <p>I did a (nasty) ActionScript solution, but I think there must be some elegant way to do it.</p>