1. Kein Wunder, du ersetzt[*] ja auch durch nichts. O_o. "" ist nichts. Und nicht der Inhalt von irgendwas.

2. Was meinst du mit "ihrem Inhalt"? Das was zwischen den Klammern [ ] steht? Das wäre dann.
PHP-Code:
$HOME preg_replace ('/\[(.*)\]/us''\1'$HOME);