En vous promenant sur Beamreactor, nous stockons votre IP 48h pour des raisons de sécurité.

Lecteur Markdown

regex Documentation › REGEX_DOCUMENTATION

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 `/e` est explicitement interdit — il permettait l'exécution de code arbitraire via `preg_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_handler` avant 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.
de en fr