SearchWP Documentation

Consultez le guide d’installation, parcourez la base de connaissances, découvrez les nombreux hooks de SearchWP

searchwp\tokens\regex_patterns

Depuis : 4.0.0

Table des matières

SearchWP recherche des correspondances de motifs d'expression régulière pour conserver certaines chaînes intactes et éviter la tokenisation, ce qui pourrait réduire leur utilité lors de la recherche. Par défaut, un certain nombre de motifs d'expression régulière courants permettent d'extraire des chaînes de références de produits (SKU), de dates, d'initiales, de noms de fonctions, de numéros de version, etc.

Vous pouvez utiliser ce hook pour ajouter vos propres correspondances de motifs.

Remarque : Les motifs doivent être fournis par ordre de stricte ; les plus stricts d'abord.

Les motifs par défaut sont les suivants :

[
// Function names, including namespaced function names.
"/([a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*(\\\\[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*)*)\(/is",
// Date formats.
'/\b([0-9]{4}-[0-9]{1,2}-[0-9]{1,2})\b/is', // YYYY-MM-DD
'/\b([0-9]{1,2}-[0-9]{1,2}-[0-9]{4})\b/is', // MM-DD-YYYY
'/\b([0-9]{4}\\/[0-9]{1,2}\\/[0-9]{1,2})\b/is', // YYYY/MM/DD
'/\b([0-9]{1,2}\\/[0-9]{1,2}\\/[0-9]{4})\b/is', // MM/DD/YYYY
// IP addresses.
'/\b(\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3})\b/is', // IPv4.
// Initials.
"/\\b((?:[A-Za-z]\\.\\s{0,1})+)/isu",
// Version numbers: 1.0 or 1.0.4 or 1.0.5b1.
'/\b([a-z0-9]+(?:\\.[a-z0-9]+)+)\b/is',
// Serial numbers.
'/(?=\S*[\-\_])([[:alnum:]\-\_]+)/ius', // Hyphen/underscore separator.
// Strings followed by digits and maybe strings.
// e.g. `System 1` or `System 12ab-cd12`
'/([A-Za-z0-9]{1,}\s[0-9]{1,}[A-Za-z0-9]*)/iu',
// Strings of digits.
"/\\b(\\d{1,})\\b/is",
// e.g. M&M, M & M.
"/\\b([[:alnum:]]+\\s?(?:&\\s?[[:alnum:]]+)+)\b/isu",
// Strings with apostraphe(s). Consider both standard and curly.
'/\b([a-z0-9]*[\'|’][a-z0-9]*)\b/isu'
]
view raw tmp.php hosted with ❤ by GitHub

Paramètres

Type Paramètre Défaut Depuis
Chaîne{} $patterns Voir le gist ci-dessus 4.0.0

Exemples

All hooks should be added to your custom SearchWP Customizations Plugin.

Ajouter un motif d'expression régulière personnalisé

<?php
// Add custom regular expression pattern to SearchWP.
add_filter( 'searchwp\tokens\regex_patterns', function( $patterns ) {
$my_patterns = [
"/([0-9]{1,2}\\/[0-9]{1,2})/is", // Retain measurement details.
];
// We want our pattern to be considered top priority.
return array_merge( $my_patterns, $patterns );
} );

Comment utiliser ce code