本帖最后由 laoyanang 于 2012-06-09 12:57:19 编辑

解决方案 »

  1.   

    $str=<<<STR
    <a class="a" href="http://www.baidu.com/" id="a1">连接1</a>
    <a class="a" href='http://www.baidu.com/' id="a2">连接2</a>
    <a class="a" href=http://www.baidu.com/ id="a3">连接3</a>
    <a class="a" href="http://www.baidu.com/ id="a3">连接3</a>
    STR;preg_match_all('/<a[^>]+href=(["\']?)([^\s"\']+)\1[^>]*>/',$str,$matches);
    print_r($matches[2]);
      

  2.   

    $str=<<<html
    <div class="a" href="http://www.baidu.com/" id="a1">连接1</a>
    <div class="a" href='http://www.baidu.com/' id="a2">连接2</a>
    <div class="a" href=http://www.baidu.com/ id="a3">连接3</a>
    html;
    preg_match_all('/href=(["\'])?([^\s"\']+)/is', $str, $matches) ;
    print_r($matches);
    Array
    (
        [0] => Array
            (
                [0] => href="http://www.baidu.com/
                [1] => href='http://www.baidu.com/
                [2] => href=http://www.baidu.com/
            )    [1] => Array
            (
                [0] => "
                [1] => '
                [2] => 
            )    [2] => Array
            (
                [0] => http://www.baidu.com/
                [1] => http://www.baidu.com/
                [2] => http://www.baidu.com/
            ))
      

  3.   

    [User:root Time:14:14:52 Path:/home/liangdong/php]$ php preg.php 
    Array
    (
        [0] => Array
            (
                [0] => <div class="a" href="http://www.baidu.com/"
                [1] => <div class="a" href='http://www.baidu.com/'
                [2] => <div class="a" href=http://www.baidu.com/
            )    [1] => Array
            (
                [0] => "
                [1] => '
                [2] => 
            )    [2] => Array
            (
                [0] => http://www.baidu.com/
                [1] => http://www.baidu.com/
                [2] => http://www.baidu.com/
            ))
    [User:root Time:14:14:53 Path:/home/liangdong/php]$ cat preg.php 
    <?php
    $str = <<<EOF
    <div class="a" href="http://www.baidu.com/" id="a1">连接1</a>
    <div class="a" href='http://www.baidu.com/' id="a2">连接2</a>
    <div class="a" href=http://www.baidu.com/ id="a3">连接3</a>
    EOF;
    preg_match_all('/<div class="a" href=(["\']?)([^\s\'"]*)\1/is', $str, $matches);
    print_r($matches);
    ?>