<?
$returnstr = ' <a href= <?php echo $aa ?>blog/?cid= <?php echo $category_id;?>>dsfasdffa <div> </div>sfxxxxxx <a href= <?php echo $aa ?>blog/?cid= <?php echo $category_id;?>>'; 
preg_match_all("/<a\shref=(\s*<\?(.*?)\?>(.*?)<\?(.*?)\?>)>/",$returnstr,$m);
print_r($m[1]);
?>结果:Array
(
    [0] =>  <?php echo $aa ?>blog/?cid= <?php echo $category_id;?>
    [1] =>  <?php echo $aa ?>blog/?cid= <?php echo $category_id;?>
)

解决方案 »

  1.   

    我晕,文件是不规则的,那个正则是写是 的吧 <a 里面,可以含有N多<?php echo ?>
      

  2.   

    <?php
    $returnstr = ' <a href= <?php echo $aa ?>blog/?cid= <?php echo $category_id;?>>dsfasdffa <div> </div>sfxxxxxx <a href= <?php echo $aa ?>blog/?cid= <?php echo $category_id;?>>'; preg_match_all("/href=(.+?[^\?])>/", $returnstr, $arr);print_r($arr[1]);
    ?>
    结果:
    Array
    (
        [0] =>  <?php echo $aa ?>blog/?cid= <?php echo $category_id;?>
        [1] =>  <?php echo $aa ?>blog/?cid= <?php echo $category_id;?>
    )