<?php

$url = "http://www.google.com/search?hl=zh-CN&newwindow=1&q=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F+%E8%B6%85%E9%93%BE%E6%8E%A5&lr=lang_zh-CN%7Clang_zh-TW"; echo getParam( $url, 'lr' ); function getParam($url, $param )
{
$a = parse_url( $url );
$q = $a['query'];
$pa = explode( "&", $q );
foreach( $pa as $p )
{
$v = explode( "=", $p );
if( $v[0] == $param )
{
return $v[1];
}
}
return null;
}
?>

解决方案 »

  1.   

    这个不需要正则,而且用正则并不好处理
    <?php 
    $s = "http://www.google.com/search?hl=zh-CN&newwindow=1&q=%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F+%E8%B6%85%E9%93%BE%E6%8E%A5&lr=lang_zh-CN%7Clang_zh-TW";
    $a = parse_url($s); //解析URL
    $q = $a[query]; //取得其中参数部分
    parse_str($q,$a); //解析参数串
    print_r(array_map('urldecode',$a)); //url解码并输出
    ?>
    Array (
     [hl] => zh-CN
     [newwindow] => 1
     [q] => 正则表达式 超链接
     [lr] => lang_zh-CN|lang_zh-TW 
    )
    注意:url中的文字是utf-8编码的
      

  2.   

    感谢楼上的,好久不写php,都忘了有parse_url这个函数了