other possible delimiters include @,!, <>
using symbols (such as | ) that have meaning inside a regex as delimiters is probably going to be counterproductive.
Délimiteurs
Lors de l'utilisation des fonctions PCRE, il est nécessaire que le motif soit encadré par des délimiteurs. Un délimiteur peut être n'importe quel caractère alpha-numérique autre qu'un backslash ou qu'un espace.
Les délimiteurs les plus courants sont les slashes (/), dièses (#) et les tildes (~). Les exemples suivants ont tous des motifs encadrés avec des délimiteurs valides.
/foo bar/ #^[^0-9]$# +php+ %[a-zA-Z0-9_-]%
Si le délimiteur doit être décrit dans le motif, il doit être échappé avec un backslash. Si le délimiteur apparait souvent dans le motif, choisir un autre délimiteur est une bonne idée pour en augmenter la lisibilité.
/http:\/\// #http://#
En complément des délimiteurs cités ci-dessus, il est aussi possible d'utiliser des accolades comme délimiteur où les accolades ouvrante et fermante sont respectivement les délimiteurs ouvrant et fermant.
{ceci est un motif}
Vous pouvez aussi utiliser des modificateurs de motif après le délimiteur final. L'exemple suivant montre une correspondance insensible à la casse.
#[a-z]#i
When you use meta-characters in the regular expression, avoid using them as delimiters. In preference, do not use the meta-characters as delimiters at all.
Besides, you must not forget to escape the delimiter if it exists in the user text. The function preg_quote permits to escape the delimiter if it exists in the user text.
<?php
$usertext=preg_quote($usertext,$delimiter);
?>
