s31s3r
10-01-2008, 12:52
Este código:
$string = preg_replace('([&]+[a-zA-Z0-9]+[;]+)', '_', $string);
Substitui qualquer string que comece com "&" e acabe em ";" e no meio delas contenha letras ou números.
Falta-me apenas limitar a quantidade de letras ou números que pode haver.
Por exemplo defenia para aplicar a regra caso encontra-se entre 6 a 8 números ou letras.
Para "&fghsdef;" a regra aplicava-se mas para "&fg;" já não.
Não estou a conseguir fazer isto.
Já tentei
$string = preg_replace('([&]+[a-zA-Z0-9]{4-8}+[;]+)', '_', $string);
Mas não resulta...
$string = preg_replace('([&]+[a-zA-Z0-9]+[;]+)', '_', $string);
Substitui qualquer string que comece com "&" e acabe em ";" e no meio delas contenha letras ou números.
Falta-me apenas limitar a quantidade de letras ou números que pode haver.
Por exemplo defenia para aplicar a regra caso encontra-se entre 6 a 8 números ou letras.
Para "&fghsdef;" a regra aplicava-se mas para "&fg;" já não.
Não estou a conseguir fazer isto.
Já tentei
$string = preg_replace('([&]+[a-zA-Z0-9]{4-8}+[;]+)', '_', $string);
Mas não resulta...