2016-09-16 2 views
-1

J'ai trouvé l'index de contrôle d'un script sur google si le site a indexéComment vérifier si plus site est indexé dans Google

function getPagesIndexedGoogle($site) 
{ 
    if ($site) { 
     $curl = curl_init(); 
     curl_setopt_array($curl, array(
      CURLOPT_HEADER => 0, 
      CURLOPT_RETURNTRANSFER => 1, 
      CURLOPT_URL => "https://www.google.com.au/search?q=site:$site&gws_rd=ssl", 
      CURLOPT_SSL_VERIFYPEER=> false, 
      CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko' 
     )); 
     $result_string = curl_exec($curl); 
     curl_close($curl); 
     if (strpos($result_string, "did not match any documents") !== false) { 
      return 0; 
     } else { 
      $match = preg_match("/about ([0-9,]{0,12})/i", $result_string, $matches); 

      echo $matches[1]; 
     } 
    } 
} 

if($_POST['domain']){ 
    $site = $_POST['domain']; 
} 
echo $_POST['domain'] ; 
echo getPagesIndexedGoogle($site);  

?> 

Comment vérifier url mutilple? J'ai utilisé Foreach mais cela ne fonctionne pas.

Aidez-moi, s'il vous plaît.

+0

'$ sites = array (" site1 "," site2 "," site3 "); foreach ($ sites comme $ site) {echo getPagesIndexedGoogle ($ site); } '- Remplacer les valeurs de tableau avec de vrais sites Web bien sûr. – icecub

+0

goggle détecte activement les racleurs, s'attendre à être bloqué, très rapidement. – nogad

+0

Merci. J'utilise Form Let get Data.

Domaine:
Steven

Répondre

0

Comme l'a demandé, cela devrait faire l'affaire:

<?php 

function getPagesIndexedGoogle($site) 
{ 
    if ($site) { 
     $curl = curl_init(); 
     curl_setopt_array($curl, array(
      CURLOPT_HEADER => 0, 
      CURLOPT_RETURNTRANSFER => 1, 
      CURLOPT_URL => "https://www.google.com.au/search?q=site:$site&amp;gws_rd=ssl", 
      CURLOPT_SSL_VERIFYPEER=> false, 
      CURLOPT_USERAGENT => 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko' 
     )); 
     $result_string = curl_exec($curl); 
     curl_close($curl); 
     if (strpos($result_string, "did not match any documents") !== false) { 
      return 0; 
     } else { 
      $match = preg_match("/about ([0-9,]{0,12})/i", $result_string, $matches); 

      echo $matches[1]; 
     } 
    } 
} 

if(!empty($_POST['domain'])){ 

    // Tries to split URLs by new line or space character 
    $sites = preg_split('#\\r\\n|\\r|\\n| #i', $_POST['domain']); 

    foreach($sites as $site){ 
     // Checks if the URL is a valid website or not (http(s):// must be included!) 
     if(preg_match('#((https?|ftp):\/\/(\S*?\.\S*?))([\s)\[\]{},;"\':<]|\.\s|$)#i', $site)){ 
      echo $site; 
      echo getPagesIndexedGoogle($site); 
     } else { 
      echo $site; 
      echo " is not a valid url."; 
     } 
    } 

} else { 
    echo "No websites were entered."; 
} 

?> 

Je suggère toujours de ne pas utiliser un textarea mais textfields simples à la place. C'est juste moins sujet aux erreurs.

+0

Cher icecub, j'ai utilisé le code de vous mais montrez l'erreur: inattendu '{'. J'ai trouvé la ligne si (preg_match mais n'a pas l'air d'erreur Aidez-moi – Steven

+0

@Steven C'était une erreur simple. – icecub

+0

@iceclub Ça marche, merci beaucoup – Steven