【问题标题】:remove part of url from google API [closed]从谷歌 API 中删除部分 url [关闭]
【发布时间】:2014-06-20 05:57:07
【问题描述】:

谷歌 API

提供这种链接

http://news.google.com/news/url?sa=t&fd=R&ct2=us&usg=AFQjCNFhnbiaA4JmbJdwKBzJOxs2B49LfQ&clid=c3a7d30bb8a4878e06b80cf16b898331&ei=eBZlU8CyBIWc1QajIA&url=http://opinion.inquirer.net/74164/aseans-elusive-integration

我怎样才能只获得“&url=”之后的链接?

回答

$link = '...a4878e06b80cf16b898331&ei=eBZlU8CyBIWc1QajIA*&url=http://opinion.inquirer.net/74164/aseans-elusive-integration';
$parsed = parse_url($link);
echo '<pre>'.print_r($parsed).'</pre>';

这应该在字符串的最后一个位置显示来自 &url= 参数的 url。 希望对你有帮助

【问题讨论】:

  • 你有没有尝试过?
  • @OliCharlesworth 为什么要在这里免费试用?
  • @Flynn- 请不要在回答后更改您的问题

标签: php regex


【解决方案1】:

一种方法是使用parse_str()parse_url() 函数。您可以使用它来分隔字符串信息以找到某个参数值。

parse_str(parse_url($urlString, PHP_URL_QUERY), $array)

所有参数都将存储在 $array 变量中。

信用:https://stackoverflow.com/a/3136450/2748747

【讨论】:

    【解决方案2】:

    来吧,享受吧。

    <?php
    $str = 'http://news.google.com/news/url?sa=t&fd=R&ct2=us&usg=AFQjCNFhnbiaA4JmbJdwKBzJOxs2B49LfQ&clid=c3a7d30bb8a4878e06b80cf16b898331&ei=eBZlU8CyBIWc1QajIA&url=http://opinion.inquirer.net/74164/aseans-elusive-integration';
    
    $str = preg_split('/&/', $str);
    
    $final = array();
    
    for($i = 0; $i < count($str); $i++ ){
        $a = preg_split('/=/', $str[$i]);
        if(is_array($a)) {
            $final[$a[0]] = $a[1];
        }
    }
    
    
    var_dump($final);
    
    echo $final['url'];
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-21
      • 1970-01-01
      • 2015-07-28
      • 2013-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多