Cette classe PHP permet de traiter un document HTML pour ajouter automatiquement des liens sur certains mots-clés.
Licence : GNU GPL version 2
Installation
- décompressez l’archive,
- copiez le contenu du répertoire src sur votre serveur web à l’emplacement de votre choix.
Configuration
Editez le fichier src/config.inc.php pour modifier les paramètres suivants :
- $cfgIBDLS[« useCache »] : active ou désactive la mise en cache de la liste des mots-clés à utiliser pour les liens sponsorisés (à tester sur votre serveur, les performances avec cache ne sont pas forcément meilleures que sans),
- $cfgIBDLS[« balisesInterdites »] : tableau définissant (via des expressions régulières) les balises HTML dans lesquels les mots clés doivent être ignorés,
- $cfgIBDLS[« attributsLien »] : définit les attributs supplémentaires de la balise A utilisée pour les liens insérés.
Ces paramètres de configuration peuvent également être surchargés depuis le code appelant.
Les mots clés et les liens correspondant doivent être placés dans un fichier INI, en respectant la syntaxe suivante :
1 2 3 4 5 |
[nom de section] cle[]="mot clé 1" lien[]="lien 1" cle[]="mot clé 2" lien[]="lien 2" |
Vous pouvez y définir plusieurs sections, pour organiser vos mots clés, mais tous les mots clés doivent être définis dans une section pour être pris en compte.
Ajouter des liens
Pour analyser un texte et ajouter les liens, incluez le fichier src/liensSponsos.cls.php dans votre code PHP puis initialisez un objet en appelant le constructeur de la classe IBDLiensSponsos avec en paramètre le chemin du fichier INI listant les mots clés (chemin relatif par rapport au répertoire src).
Appellez ensuite la méthode ajouterLiens de cet objet. Celle-ci prend quatre arguments :
- $codeHTML (obligatoire) : le code HTML dans lequel les liens doivent être ajoutés,
- $section (optionnel, défaut « ») : la section du fichier INI dont les mots clés doivent être pris en compte. Si ce paramètre contient une chaîne vide où s’il est absent, toutes les sections sont prises en compte,
- $nbMotsCles (optionnel, défaut 2) : le nombre maximum de mots clés de chaque section pour lesquels un lien doit être ajouté. Si cette valeur est inférieure à 1, le nombre n’est pas limité,
- $nbOccur (optionnel, défaut 1) : le nombre maximum d’occurrences d’un même mot clé pour lesquelles un lien doit être ajouté. Si cette valeur est inférieure à 1, le nombre n’est pas limité.
Performances
Voici les performances obtenues sur différents types de machines :
- Core 2 Duo E8600 3.8 GHz, 8 Go de RAM, SSD Intel X25-M, Windows 7, Apache 2.2.14, PHP 5.3.1 :
- 1000 initialisations avec cache : 0.124
- 1000 initialisations sans cache : 0.141
- 1000 traitements à la suite : 5.999
- 1000 traitements séparément : 6.346
- Pentium E2140 1.6 GHz, 2 Go de RAM, SSD OCZ Vertex, Windows 7, Apache 2.2.14, PHP 5.3.1 :
- 1000 initialisations avec cache : 0.285
- 1000 initialisations sans cache : 0.295
- 1000 traitements à la suite : 12.769
- 1000 traitements séparément : 13.513
- Core 2 Quad Q8300 2.5 GHz, 4 Go de RAM, HDD 7200 RPM, Linux 2.6, Apache 2.2.12, PHP 5.2.10 :
- 1000 initialisations avec cache : 0.295
- 1000 initialisations sans cache : 0.119
- 1000 traitements à la suite : 2.448
- 1000 traitements séparément : 2.732
- 27/03/2010, première version publique.
Rien pour l’instant, mais n’hésitez pas à faire des suggestions 🙂