par
pat29 » 14 mai 2013, 00:13
Bonjour,
merci pour ta réponse, mais ça ne fait pas exactement ce que je veux.
Ce que je voudrais c'est que dans le cas où j'ai 2 expressions capturantes, forcer la 2e expression capturante à être identique à la 1ère, c'est-à-dire dans l'exemple ci-dessous, ci j'ai "a" dans la 1ère expression, avoir forcément "a" dans la 2e. Si j'ai "b" dans la 1ère expression avoir forcément b dans la 2e...
$html = preg_replace('/<(a|b|c|d)>(.*?)(\/a|b|c|d)/', '<$1>$2</$1>', $html);
Cela aurait été simple si l'on pouvait utiliser les variables dans le pattern également, du genre
$html = preg_replace('/<(a|b|c|d)>(.*?)$1/', '<$1>$2</$1>', $html);
Mais cela n'étant pas possible comment peut-on procéder ?
Merci de votre aide!
Bonjour,
merci pour ta réponse, mais ça ne fait pas exactement ce que je veux.
Ce que je voudrais c'est que dans le cas où j'ai 2 expressions capturantes, forcer la 2e expression capturante à être identique à la 1ère, c'est-à-dire dans l'exemple ci-dessous, ci j'ai "a" dans la 1ère expression, avoir forcément "a" dans la 2e. Si j'ai "b" dans la 1ère expression avoir forcément b dans la 2e...
$html = preg_replace('/<(a|b|c|d)>(.*?)(\/a|b|c|d)/', '<$1>$2</$1>', $html);
Cela aurait été simple si l'on pouvait utiliser les variables dans le pattern également, du genre
$html = preg_replace('/<(a|b|c|d)>(.*?)$1/', '<$1>$2</$1>', $html);
Mais cela n'étant pas possible comment peut-on procéder ?
Merci de votre aide!