Lecteur Markdown
Regex Documentation
Regex — Regular Expression Tester #
Description #
Outil de test d'expressions régulières intégré à BeamReactor. Permet de tester des patterns PCRE avec match, groupes de capture et remplacement, directement depuis l'interface d'administration.
Fonctionnalités #
Test de patterns #
- Saisie du pattern avec délimiteurs PCRE (
/pattern/flags) - Texte de test multi-lignes (textarea, max 65535 caractères)
- Chaîne de remplacement optionnelle
- Exemple pré-rempli au premier chargement
Résultats #
- Nombre de correspondances (
preg_match_all) - Liste des valeurs matchées
- Détail des groupes de capture ($1, $2, ...)
- Résultat du remplacement si une chaîne de remplacement est fournie
- Messages d'erreur explicites pour les patterns invalides
Aide-mémoire #
Section de référence rapide affichée sous le formulaire avec les tokens PCRE courants (., \d, \w, \s, ^, $, *, +, ?, {n,m}, [abc], (...), |, \b). Entièrement traduite.
Sécurité #
- Accès restreint à
REGEX_LEVEL_ADMIN(admin uniquement) - Le modificateur
/eest explicitement interdit — il permettait l'exécution de code arbitraire viapreg_replace(supprimé en PHP 7, mais le plugin bloque la tentative par précaution) - Toutes les entrées sanitizées via
Parser::sanitize - Validation du pattern via
set_error_handleravant exécution — les erreurs PCRE sont interceptées proprement - Sortie HTML échappée via
htmlspecialchars - Pas d'utilisation de
get_magic_quotes_gpc()(supprimé en PHP 8)
Pourquoi admin uniquement ? #
Un testeur regex est un outil de développement. Exposer preg_replace à des utilisateurs non privilégiés, même avec les protections en place, n'a pas de sens fonctionnel.
Structure #
/plugins/regex/
├── regex.php
├── /conf/
│ └── regex.conf.inc.php
├── /doc/
│ └── regex.md
├── /locale/
│ ├── regex.en.inc.php
│ ├── regex.fr.inc.php
│ └── regex.de.inc.php
└── /css/
└── regex.css
Traductions #
34 clés dans $dialregex[]. Disponible en EN, FR, DE. Inclut les labels du formulaire, les messages d'erreur, et les descriptions de l'aide-mémoire.
Note : l'ancien plugin utilisait $dialregx[] (sans 'e'). Renommé en $dialregex[] pour cohérence.
Différences avec la version 1.x #
| Aspect | v1 (2009) | v2 (2026) |
|--------|-----------|-----------|
| PHP | get_magic_quotes_gpc() | Parser::sanitize |
| Sécurité | Aucune validation du pattern | Rejet du /e, error handler, sanitization |
| Résultats | Texte brut, résultat seul | Matches, groupes de capture, remplacement |
| Formulaire | HTML inline concaténé | Formulaire structuré avec CSS |
| Aide | Aucune | Aide-mémoire PCRE traduit |
| Texte de test | Input text (ligne unique) | Textarea multi-lignes |
| Accès | REGEX_LEVEL_USER | REGEX_LEVEL_ADMIN |
| i18n | EN/FR , $dialregx | EN/FR/DE, $dialregex |
Changelog #
- 2.0.0 (2026-02-07) : Réécriture complète. Suppression de
get_magic_quotes_gpc, sanitization via Parser, blocage du modificateur /e, affichage des groupes de capture, aide-mémoire PCRE, textarea multi-lignes, CSS séparé, i18n EN/FR/DE. - 1.02.0 (2009-10-29) : Version originale.