2017-02-24 6 views
-1

Je ne comprends pas où le problème avec mon code. Code me montrant un message d'erreurRegex pour http-equiv = "refresh" meta tag

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

Le problème vient de ce code sur la ligne 151:

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

code complet:

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

[Utiliser un analyseur réel, pas regex, pour ce] (http://stackoverflow.com/questions/3577641/how-do-you-parse -et-processus-html-xml-in-php) – Quentin

Répondre

0

La question est, vous avez oublié d'échapper à une citation ' qui était en conflit avec l'un des qoutes de fermeture de la chaîne. Donc, ce qui suit regex/code devrait fonctionner:

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

merci pour la réponse mais ne fonctionne pas, même erreur. –