Checker Duplicate Content PHP

Une petite fonction sympa pour vérifier si vos articles ou bout de page sont dupliqués. Utile pour un annuaire ou autre vérification sur des commentaires de blog par exemple :


<?php

/**
 * @author Jeremy A.
 * @copyright 2010
 * @site: www.code-seo.com
 */

function check_dc($phrase,$longueur_max = 50)
{

 $phrase = (strlen($phrase)>=$longueur_max)? substr($phrase,0,$longueur_max) : $phrase;
 $phrase = (strrpos($phrase," ")) ? substr($phrase,0,strrpos($phrase," ")):$phrase;

 $url = 'http://www.google.com/custom?hl=fr&q=';
 $phrase = urlencode('"'.$phrase.'"');

 $ch = curl_init();
 curl_setopt($ch, CURLOPT_URL, $url.$phrase);
 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
 $data = curl_exec($ch);
 curl_close($ch);

 $regex =  '#Aucun document ne correspond#i';
 //retourne true si pas de DC
 return(preg_match($regex,$data))? true:false;

}

$test = "Tout d'abord, les pages alias et les sous-domaines sont deux choses différentes, même si une page alias peut avoir une adresse en sous-domaine.";

echo (check_dc($test,110) == true)? "Pas de duplicate":"DC en vue chef";

?>

Il ne reste ensuite qu’a traiter l’information reçue par la fonction…

,

8 commentaires

Twitter, Avez-vous votre robot ?

Voici une petite fonction sympa pour Twitter Aléatoirement un message… Vos messages sont soit dans un tableau ( Array ) soit seul ( $message = »toto »;

La fonction s’occupe d’elle même de transformer un message seul en tableau :


/**
 * alea_twitter_post
 * Envois aléatoirement un Twitt
 * contenu dans un Array()
 *
 * @param string $login,$mot_de_passe
 * @param array $messages
 * @return $reponse|true ou false
 */

function alea_twitter_post($login, $mot_de_passe, $messages){
 if (!is_array($messages)){
 $messages = array($messages);
 }
 $message = $messages[array_rand($messages)];
 $url = 'http://twitter.com/statuses/update.xml';
 $curl_handle = curl_init();
 curl_setopt($curl_handle, CURLOPT_URL, "$url");
 curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
 curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
 curl_setopt($curl_handle, CURLOPT_POST, 1);
 curl_setopt($curl_handle, CURLOPT_POSTFIELDS, "status=$message");
 curl_setopt($curl_handle, CURLOPT_USERPWD, "$login:$mot_de_passe");
 $buffer = curl_exec($curl_handle);
 curl_close($curl_handle);
 if (!empty($buffer)){
 $reponse = TRUE;
 }else{
 $reponse = FALSE;
 }
 return $reponse;
}

On peut ensuite tester ainsi:


//TEST
$login = "VotreLogin";
$pass = "VotreMotDePasse";
$messages = array("Message 1","message 2","message 3","etc...");
// ou tout simplement $messages = "Un petit dernier pour le e-commerce et pokerice";
if (alea_twitter_post($login, $pass, $messages) != FALSE){
echo "Twitt Posté";
}

Rapide et éfficace, il ne reste plus qu’a en faire un Cron, charger des messages en Bdd, ou encore faire appeler cette fonction par image par vos visiteurs…

A vos commentaires ;)

, ,

Pas de commentaire