2013-11-15 36 views
0

任何原因,我得到这个错误PHP公告:未定义指数:网址

PHP Notice: Undefined index: url on line 40 

从我的代码的代码是用来抓住从一个网站链接,电影,但我试图抓住的联系我得到那个错误,所以有人可以指导我解决问题的正确方向。

public function getMovieEmbeds($title) { 
    $misc = new Misc(); 
    //Step1 find key 
    $movie_url = null; 
    $html = file_get_html('http://www.primewire.ag/'); 
    $elements = $html->find('input[name=key]',0); 
    $key = null; 
    if(!is_null($elements)){ 
     $key = $elements->value; 
    } 
    if(is_null($key)){ 
     return array(); 
    } 

    //Step2 do search... 
    $search = urlencode($title);     
    $html = file_get_html("http://www.primewire.ag/index.php?search_keywords=$search&key=$key&search_section=1"); 
    $elements = $html->find(".index_item h2"); 
    if(!is_null($elements)){ 
     foreach($elements as $element){ 
      $element_title = strtolower(strip_tags(trim(preg_replace('/\s*\([^)]*\)/', '', $element->innertext))));     
      if ($element_title == strtolower(trim($title))) { 
       $parent = $element->parent(); 
       $movie_url = "http://primewire.ag".$parent->href; 
       break; 
      } 
     } 
    } 
    if (is_null($movie_url)) { 
     return array(); 
    } 

    //Step3 get embeds 
    $html = file_get_html($movie_url); 
    $elements = $html->find(".movie_version_link a"); 
    if(!is_null($elements)){ 
     foreach($elements as $element){ 
      $encoded_url = "http://primewire.ag".$element->href; 
      $query = parse_url($encoded_url, PHP_URL_QUERY); 
      parse_str($query,$op); 
      error came from ---> $link = base64_decode($op["url"]); <--- here 

      if(strpos($link, "affbuzzads")===false && strpos($link, "webtrackerplus")===false){ 
       $embed = $misc->buildEmbed($link); 
       if ($embed) { 
        $embeds[] = array(
         "embed" => $embed, 
         "link" => $link, 
         "language" => "ENG", 
        ); 
       } 
      } 
     } 
     return $embeds; 
    } 
    return array(); 
} 

可能有人请帮助我,这将是最有帮助的

+1

都已经做了的var_dump($ OP)和看如果有一个索引namend网址? – sHentschel

+0

如果您不知道这些网站在英国已被封锁 – shorif2000

回答

2

parse_str返回上一个URL参数数组,就好像它是$ _GET数组英寸

它只会包含“URL”的值,如果你使用的网址有一个参数“URL”

例如它是沿着线:

http://example.com/?url=urlvalue 

因此,如果$元素 - > HREF(因此$ encoded_url和$查询)不包含在其名为“url”参数,你会不会得到一个指数“网址”

的$运算阵列在这里看到的文档:http://us1.php.net/manual/en/function.parse-str.php