duanjia8215 2013-01-08 20:58
浏览 21
已采纳

从网址中选择搜索查询

Here's what I have so far:

preg_match('/[q|p]=(.*?)&/',$url,$query);

The problem is that if there's a param that ends with a q or p, the it will include those:

&cap=queryhere

since cap ends with p it includes those, how can I only include search queries that come from q's and p's only. Thanks!

  • 写回答

2条回答 默认 最新

  • dppb79372 2013-01-08 21:17
    关注

    you don't need to use regular expressions, php has built in functions to work with type of information, it is more accurate.

    <?php
    
    $url = "http://mysite.com/page.php?q=this is my query&a=123";
    
    $query = parse_url($url, PHP_URL_QUERY);
    
    parse_str($query, $opt);
    
    print_r($opt);
    

    outputs:

    Array
    (
        [q] => this is my query
        [a] => 123
    )
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?