En fait, j'ai un blog qui fonctionne sous dotclear, et j'ai créé un certain nombre de boîtes avec du contenu à l'intérieur. Jusque là, pas de problèmes.
Il y a ensuite une fonction de dotclear qui permet de lister les sites référants et de les inscrire dans un fichier, puis une autre fonction qui permet de les afficher.
Mon pb, c'est que lorsque l'adresse d'un site dépasse les 26 caractères, elle dépasse de la boîte et fait sauter la mise en page. Plutôt gênant...
Je cherche donc à modifier la fonction qui enregistre les référants pour qu'elle raccourcisse automatiquement les adresses trop longues.
Voici l'extrait du fichier contenant la fonction d'enregistrement :
function recordReferers() {
$referants = dirname(__FILE__) . '/reffichier.html';
$blacklist = dirname(__FILE__) . '/refblacklist.html';
if ( isset($_SERVER['HTTP_REFERER'])
&& ($_SERVER['HTTP_REFERER'] != '')
&& ($_SERVER['HTTP_REFERER'] != 'bookmarks') )
{
$ref_court = preg_replace("/(http|https|ftp|news):\/\//","", $_SERVER['HTTP_REFERER']);
$ref_court = preg_replace("/\/.*/", "", $ref_court);
if ( ($ref_court != $_SERVER['SERVER_NAME'])
&& ($ref_court != 'bookmarks') && is_writable($referants) )
{
$ref_long = preg_replace("/&/", "&", $_SERVER['HTTP_REFERER']);
$reffichier = fopen($referants,'a');
fwrite($reffichier, "<a href=\"" . htmlentities($ref_long, ENT_NOQUOTES) . "\" rel=\"nofollow\">$ref_court</a><br/>\n");
fclose($reffichier);
}
}
}
J'ai essayé d'insérer le code que tu avais donné dans cette fonction, en remplacant "chaine" par "ref_court", mais ça n'a pas marché, il doit y avoir autre chose à modifier. Est-ce que tu as une idée ?
Merci encore pour ton aide,
Eric