Language PHP : Hypertext Preprocessor

 Charge moyenne sur 1mn : 0.46 Charge moyenne sur 5mn : 0.50 Charge moyenne sur 15mn : 0.42


PHP

PHP is a popular general-purpose scripting language that is particularly suited for web development.

Fast, flexible and pragmatic, PHP is made for any blog or for all the most popular sites in the world.

The word PHP or programming language contained in web pages and executed on servers, they return the result directly to the client who can never see the source. Allows you to create dynamic web pages.

PHP.Net © 2001-2020 The PHP Group: Language Reference

Predefined PHP classes to make our life easier :)






Site user blocks : Account info / user rights / summary

MySQL REGEXP : Search keyword

Rechercher dans une base de donnée MySQL un mot avec une expression régulière (REGEXP)

Informations :

Dates
  • Publish : : Sunday 26 june 2022

  • 202 views

Share :

J'ai écris cette expression régulière pour rechercher des mots dans ma base de données MySQL.

Cette expression régulière permet de trouver de meilleurs occurrences de mots clefs qu'une recherche écrite de cette manière :

Script avec 1 ligne

001"SELECT * FROM contents WHERE contents_title LIKE '%keyword%'";

MySQL REGEXP

J'utilise la recherche avec REGEXP à la place de LIKE.

L'expression régulière est celle-ci :

Script avec 1 ligne

001$expression = "([[:space:]]|^[[:space:]]|[[:punct:]]|^[[:punct:]]|^)".$keyword."([[:space:]]|^[[:space:]]|[[:punct:]]|^[[:punct:]]|$)";
  1. Un espace [[:space:]] devant le mot - ou
  2. pas d'espace ^[[:space:]] devant le mot - ou
  3. une ponctuation [[:punct:]] devant le mot - ou
  4. pas de ponctuation ^[[:punct:]] devant le mot - ou
  5. commence la chaîne de caractères ^
le mot clé
  1. Un espace [[:space:]] devant le mot - ou
  2. pas d'espace ^[[:space:]] devant le mot - ou
  3. une ponctuation [[:punct:]] devant le mot - ou
  4. pas de ponctuation ^[[:punct:]] devant le mot - ou
  5. finit la chaîne de caractères $

Donc, la requête MySQL devient la suivante :

Script avec 1 ligne

001"SELECT * FROM contents WHERE contents_title REGEXP '".$expression."'";

Truc simple ;)

Pour les français par exemple - En faisant une recherche du mot "AR" (Augmented Reality) dans mon moteur de recherche je tombais sur des articles avec les mots "par" ou "arriver" etc.. c'était nul.

C'est mieux maintenant.

 

Documentation sur REGEXP

  • Pattern Matching with Regular Expressions

    Les modèles SQL sont susceptibles d'être implémentés par d'autres systèmes de base de données, ils sont donc raisonnablement portables au-delà de MySQL. D'un autre côté, ils sont quelque peu limités. Par exemple, vous pouvez facilement écrire un modèle SQL %abc% pour rechercher des chaînes contenant abc, mais vous ne pouvez pas écrire un seul modèle SQL pour identifier des chaînes contenant l'un des caractères a, b ou c. Vous ne pouvez pas non plus faire correspondre le contenu d'une chaîne en fonction de types de caractères tels que des lettres ou des chiffres. Pour de telles opérations, MySQL prend en charge un autre type d'opération de correspondance de modèle basée sur des expressions régulières et l'opérateur REGEXP (ou NOT REGEXP pour inverser le sens de la correspondance). La correspondance REGEXP utilise un ensemble d'éléments de modèle différent de % et _ (aucun n'est spécial dans les expressions régulières).

Keywords :

PHP MySQL REGEXP MySQL LIKE Alternative


Author of the page

O.Romain.Jaillet-ramey

O.Romain.Jaillet-ramey

  • Firstname : Olivier Romain Luc
  • Lastname : : Jaillet-ramey
  • Arrived on tuesday 19 october 1976 (1976/10/19 00:00)
    48 years activity !

Translate this page with Google

Firefox Nighlty

Our friends from Framasoft are interested in Mozilla and asked them questions about Nightly: Firefox Night-club, free entry !






Load page: 2,6915729045868