我用 file_get_contents($url)得到内容。我想从内容中提取url,但url有一定限制<a XXX href='URL' XXX>YYY</a>'XXX':可以有任何的其它属性,又或者没有,反正不确定。
'YYY':这个内容是定的。比如是 'kick me'这类型的。我就是要提取url显示为某个字符的 url 谢谢。。

解决方案 »

  1.   

    $s = <<< HTML
    <a XXX href='URL' XXX>YYY</a>
    <a XXX href='URL' XXX>ZZZ</a>
    HTML;$word = 'YYY';
    $p = "#<a .*?>$word</a>#is";
    preg_match_all($p, $s, $r);
    print_r($r);Array
    (
        [0] => Array
            (
                [0] => <a XXX href='URL' XXX>YYY</a>
            ))
      

  2.   

    我只要这个 URL ,<a </> 这些都不要的,谢谢
      

  3.   


    <?php
    $url = "
    <a XXX href='http://www.sina.com.cn/index.html' XXX>YYY </a>
    <a XXX href=\"http://www.sina.com.cn/?abc.php=中国信息\" XXX>YYY </a>
    <a name=\"世界真奇妙\" href='http://www.sina.com.cn/?abc.php=asdj' XXX>YYY </a>
    <a XXX href='http://www.sohu.com/?abc' XXX>YYY </a>
    ";print_r(filterUrl($url));function filterUrl($param)
    {
    preg_match_all("/href=('|\")(.*?)(?1)\s+/",$param,$mas);
    $url = array();
    for($i=0;$i<count($mas[1]);$i++)
    {
    $url[]  = preg_replace("/".$mas[1][$i]."/","",$mas[2][$i]);
    }
    return $url;
    }?>
    Array
    (
        [0] => http://www.sina.com.cn/index.html
        [1] => http://www.sina.com.cn/?abc.php=中国信息
        [2] => http://www.sina.com.cn/?abc.php=asdj
        [3] => http://www.sohu.com/?abc
    )
      

  4.   

    对不起,你可能误会我的意思了。
    比如连接有 :<a XXX href='http://www.sina.com.cn/index.html' XXX>123456</a>
    <a XXX href=\"http://www.sina.com.cn/?abc.php=中国信息\" XXX>BBBBB</a>
    <a name=\"世界真奇妙\" href='http://www.sina.com.cn/?abc.php=asdj' XXX>123456</a>
    <a XXX href='http://www.sohu.com/?abc' XXX>YYY </a>//我要的连接是 
    <a XXX href='http://www.sina.com.cn/index.html' XXX>123456</a>
    <a name=\"世界真奇妙\" href='http://www.sina.com.cn/?abc.php=asdj' XXX>123456</a>
    <a>这里是 123456</a>  的串,不是123456的不要。
      

  5.   

    4楼和7楼有矛盾, 又说只要url , 又说要标签内容, 究竟是怎么的 ?