Re,
Alors l'accent grave c'est le délimiteur, il est libre mais ce ne doit pas être un métacaractère sinion il y aura le joli message d'erreur 'No ending delimiter found' ou 'Delimiter must be not alphanumeric or backslash'
Pour que cela fonction sans text alternatif, il faut utiliser ça :
preg_replace('`\[img=\'(.+)\'\](.+|)\[ /img\]`', '<img src="$1" alt="$2" />', $texte);
(.+|) au lieu de (.+) et dans ce cas la valeur de alt est nulle.
Pour plus d'informations sur les regex : http://www.expreg.com/index.php