Messieurs et dames, plop

Je suis en ce moment sur une toute petite expression régulière qui ne fonctionne pas comme je veux :

$content =" blablabla [mot|mot] blablabla";
preg_replace("#\[(.*)|(.*)\]#",'<strong>$1 - $2</strong>',$content );

Le but étant de récupérer les deux mots (ou expressions composées de plusieurs mots) séparés par le | et de les afficher dans le <strong>.

Je ne comprends pas pourquoi cette expression régulière ne fonctionne pas, pouvez-vous m'aider?

merci