<?php
$str = '[traduci id=\'HELLO\']ciao[/traduci][traduci id=\'HELLO\' not=\'fr\' ]ciao[/traduci][traduci not="fr" id="HELLO"]ciao[/traduci][traduci not="fr" id="HELLO" param="abc"]ciao[/traduci]';
// traduco in francese
echo preg_replace("#\[traduci\s+id='HELLO'((.*?)!?\])(.*?)\[\/traduci\]#","SALUT",$str);?>