searchwp\tokens\regex_patterns
Desde: 4.0.0
Sumário
O SearchWP busca correspondências de padrões de expressão regular para manter certas strings intactas e evitar a tokenização, que pode reduzir a utilidade durante a pesquisa. Por padrão, há uma série de padrões de expressão regular comuns para extrair strings de SKUs, datas, iniciais, nomes de funções, números de versão e muito mais.
Você pode usar este hook para adicionar suas próprias correspondências de padrões.
Observação: Os padrões devem ser fornecidos em ordem de rigor; os mais rigorosos primeiro.
Os padrões padrão são os seguintes:
| [ | |
| // 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' | |
| ] |
Parâmetros
| Tipo | Parâmetro | Padrão | Desde |
|---|---|---|---|
| String{} | $patterns |
Veja o gist acima | 4.0.0 |
Exemplos
All hooks should be added to your custom SearchWP Customizations Plugin.
Adicionar padrão de expressão regular personalizado
| <?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 ); | |
| } ); |

