当前位置: 代码迷 >> PHP >> 匹配html格式的正则!
  详细解决方案

匹配html格式的正则!

热度:29   发布时间:2013-01-05 15:20:40.0
求一个匹配html格式的正则!!

<ul id="ul1">
  <li>1</li>
  <li>2</li>
</ul>

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

?>

------解决方案--------------------
<?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);
  相关解决方案