Perchč non vuoi utilizzare http://www.php.net/str_replace?

Codice PHP:
<?php 

$string 
'[parola] parola] [ parola[ parola []';

$search = array('[parola]''[]');
$replace = array('APERTAparolaCHIUSA''APERTACHIUSA');

$string str_replace($search$replace$string);

echo(
$string);

?>
In alternativa, se č questo quello che vuoi ottenere relamente, puoi usare una espressione regolare:

Codice PHP:
<?php 

$string 
'[parola] parola] [ parola[ parola []';

$pattern '#\\[([^\\]\\[]*)\\]#si';
$replace 'APERTA$1CHIUSA';

$string preg_replace($pattern$replace$string);

echo(
$string);

?>