Page 1 sur 1

Gérer longue liste de preg_match

Posté : 18 déc. 2012, 13:51
par yeca
Bonjour à tous

Je réfléchis en vain depuis quelques temps à une solution à ce "problème".

Actuellement, j'ai un script qui tourne chaque minute en cron et qui évalue le contenu d'un texte pour repérer s'il trouve avec un preg_match une liste d'environ 400 noms propres.

J'ai donc 400 lignes de preg_match, une pour chaque nom propre.

Je pourrais évidemment gérer ça avec une table qui contient les noms propres, ça simplifierait considérablement la gestion des noms propres, mais comme c'est un script qui tourne tout le temps, je préfère économiser l'accès mysql à cette table étant donné que la liste des noms propres change que très rarement.

Mais 400 lignes, vous comprenez bien que ça devient difficile à gérer.

Auriez vous une idée d'amélioration du système qui me permette à la fois de mieux voir la liste des noms propres mais sans que ça ralentisse le script et donc le serveur ?

Merci !

Re: Gérer longue liste de preg_match

Posté : 18 déc. 2012, 22:25
par moogli
salut,

Tu peux utiliser strpos pour savoir si ta chaîne contient un mot précis.
Mais même avec un preg_match le principe ci dessous peux être appliqué.

Tu stock dans un fichier la liste de tes mots. Il te faut choisir un format utilisable simplement, de ton choix : texte, xml, json, on un tableau sérialisé (a mon avis le plus simple).

Lorsque tu ajoute un mot (ou modif, suppression) tu recréer la liste.

Après il faut voir ce que tu veux faire avec ça, d'autre solution peuvent être envisageable ;)


@+

Re: Gérer longue liste de preg_match

Posté : 19 déc. 2012, 11:13
par yeca
Salut

Merci pour ta réponse

J'avais pensé au fichier externe, mais l'accès et la lecture d'un fichier externe de manière très régulière ne sera t-elle pas gourmande en ressources serveur ?