Vous pouvez utiliser preg_replace
comme:
$item = preg_replace('/\(.*?\)/s','',$item);
On dirait que vous voulez aussi supprimer les espaces de fuite après le remplacement.
Vous pouvez utiliser des trim
pour que:
$item = trim(preg_replace('/\(.*?\)/s','',$item));
Le regex utilisé est \(.*?\)
:
(
et )
sont des méta-caractères regex utilisés pour le regroupement. Pour correspondre litérale paranthesis vous devez les échapper en les précédant avec un \
.
- Vous mettez en correspondance n'importe quel texte entre la parenthèse en utilisant
.*?
. Vous pouvez également faire la même chose en utilisant [^)]*
.
par défaut ne correspond pas à newline. Pour faire est correspondre à une nouvelle ligne nous utilisons le modificateur s
. Sans elle nous manquera pas de faire le remplacement dans "(hello\nworld) Hi"
Quelle est la différence entre la vôtre et la solution de stillstanding? – James
@Happy: J'ai mis à jour par la poste. – codaddict
Pourquoi '. *?'? Est-ce que '. * 'Ne fonctionnerait pas aussi bien? ('.' correspond à un caractère,' * 'répète le spécificateur zéro ou plusieurs fois, puis'? 'pour qu'il corresponde ou non à ces caractères.) –