编辑代码

<?php 

$content = '
<a href="/Index/article/index/aid/8/mid/5/cid/9.html">测试</a>
<a href="/Index/article/index.htm?cid=18&aid=6">测试</a>
<a href="/Index/article/index.htm?name=30&cid=18&aid=6">测试</a>
<a href="/Index/article/index.htm?cid=18&name=30&aid=6">测试</a>
<a href="/Index/Arcst/index/cid/10.html">测试</a>
<a href="/Index/article/index/cid/10/aid/8.htmls">测试</a>
<a href="/index/Arclist/index/cid/11.html?page=2">第2页</a>
<a href="/index/Arclist/index/cid/11.htm?page=2">第2页</a>
<a href="/index/Arclist/index/cid/11.html?name=10&page=3">第3页</a>
<a href="/index/Arclist/index/cid/4/page/3.html">第二页</a>

';


$content = '
<a href="/Index/Arclist/index.htm?cid=20">测试</a>
<a href="/Index/Arclist/index/cid/10.html">测试</a>

<a href="/Index/article/index/cid/10/aid/5.html">测试</a>
<a href="/Index/article/index.html?aid=5&cid=10">测试</a>
<a href="/Index/article/index.html?cid=9&aid=12">测试</a>

<a href="/index/Arclist/index/cid/11.html?page=2">第2页</a>
<a href="/index/Arclist/index/cid/11.html?name=10&page=3">第3页</a>

';


//$listurls = "/[\'|\"]\/Index\/arclist\/index\/cid\/(\d+)\.html[\'|\"]/i";    //  ok /cid/(d+)
// $listurls = "/[\'|\"]\/Index\/arclist\/index.htm*\?.*?cid=(\d+)[\'|\"]/i";    //  ok ?cid=(d+)

// $listurls = '/[\'|\"]\/Index\/article\/index(?:\/cid\/(\d+)|(?:\/aid\/(\d+)))+(?:\.html)[\'|\"]/i';      //  ok cid/(\d+)|aid/(\d+) 位置可变
 $listurls = "/[\'|\"]\/Index\/article\/index.htm*\?.*?cid=(\d+)&.*?aid=(\d+)/i";         //  ok ?cid=(\d+)&aid=(\d+)

//preg_match_all($listurls, $content, $matchlist, PREG_SET_ORDER);
preg_match_all($listurls,$content,$matchlist);

// $pattern = '/href=[\'|\"]\/index\/Arclist\/index\/cid\/(\d+)\/page\/(\d+)\.html[\'|\"]/i';       //ok /page/3
// $pattern = "/href=[\'|\"]\/index\/Arclist\/index\/cid\/(\d+)\.htm*\?.*?page=(\d+)[\'|\"]/i";     //ok ?page=3
// $pattern = '/<a\s+href="([^"]*arclist[^>]*page=[^"]*)">/i';
// $pattern = '/<a\s+href="([^"]*arclist[^>]*page=[^"]*)">/i';
//$pattern = "/href=[\'|\"]\/index\/Arclist\/index\/cid\/(\d+)*\.html\?.*?page=(\d+)[\'|\"]/i";     //ok ?page=3
//$pattern = "/href=[\'|\"]\/index\/Arclist\/index\/cid\/(\d+)*\.html\?.*?page=(\d+)[\'|\"]/i"; 
//$pattern = '/<a\b[^>]*href=[\'"]?[^\'">]*\.(htm|html)[\'"]?[^>]*?cid=2[^>]*>(.*?)<\/a>/i';

//preg_match_all($pattern, $content, $matchlist, PREG_SET_ORDER);


//preg_match_all($pattern, $content, $matchlist);

print_r($matchlist);