2017-02-24 44 views
-1

我不明白我的代码出现问题。代码显示我的错误信息正则表达式为http-equiv =“刷新”元标记

PHP Parse error: syntax error, unexpected ')' in /home/masudtoo/public_html/autocreate/index.php on line 151

问题是从这一代码来对行151:

$google_meta_regex = '/\\<meta http-equiv.+?refresh.+?(http:\\/\\/[^\\'^\\"^\\>]+?)('){0,1}(\\"){0,1}\\>/i'; 

全码:

if (strpos($page, '<meta http-equiv')) { 
    // Follow the Meta redirect 
    $google_meta_regex = '/\\<meta http-equiv.+?refresh.+?(http:\\/\\/[^\\'^\\"^\\>]+?)('){0,1}(\\"){0,1}\\>/i'; 
    preg_match($google_meta_regex,$page,$m); 
    $curl_url = $m[1]; 
    $curl_url = str_replace('&amp;', '&', $curl_url); 

    $headers[] = "Cookie: X=abc; GoogleAccountsLocale_session=en; TZ=-330"; 
    $headers[] = "Content-Type: application/x-www-form-urlencoded"; 
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); 

     curl_setopt($ch, CURLOPT_URL, $curl_url); 
    curl_setopt($ch, CURLOPT_POST, 0); 
     $page = curl_exec($ch); 
} 

curl_close($ch); 
+0

[使用一个真正的解析器,不是正则表达式,为这个(http://stackoverflow.com/questions/3577641/how-do-you-parse -and-process-html-xml-in-php) – Quentin

回答

0

的问题是,你忘了逃跑一个报价',它与字符串的一个关闭字符串冲突。因此,下面正则表达式/代码应该工作:

$google_meta_regex = '/\\<meta\\shttp-equiv.+?refresh.+?(http\\:\\/\\/[^\\\'^\\"^\\>]+?)(\\\'){0,1}(\\"){0,1}\\>/i'; 
+0

感谢回复但不工作,同样的错误。 –