<ul id="ul1">
  <li>1</li>
  <li>2</li>
</ul>请问可以用正则匹配出来这样一段HTML代码吗?我不会写正则,去网上看了点基础教程,匹配出来的结果只有
<ul id="ul1"></ul> 里面的<li>匹配不到(里面的li是不定数量的,可以能是2个,也会是更多~)。求高手帮忙写下正则!

解决方案 »

  1.   

    <?php$str = 'afdasdfdsa<ul id="ul1">
      <li>1</li>
      <li>2</li>
    </ul>asdfasdfasd<ul id="ul2">
      <li>3</li>
      <li>4</li>
    </ul>fdsgsdfg';preg_match_all('/<ul[^>]*>.*<\/ul>/isU', $str, $matches);
    print_r($matches[0]);?>
      

  2.   

    <?php  
    $str = '<ul id="ul1">
      <li>1</li>
      <li>2</li>
    </ul>
    <ul id="ul1">
      <li>3</li>
    </ul>
    <ul id="ul1">
      <li>4</li>
      <li>5</li>
      <li>6</li>
    </ul>';
    preg_match_all('/<ul.*?>.*?<\/ul>/s', $str, $matches);
    var_dump($matches);