esto me funciona bien
Código PHP:
$mensaje="[quotar=\"Raul\"]Compra Frutas.[/quotar] Ok!";
$mensaje=preg_replace("/\[quotar\=\"(.+)\"\](.*)\[\/quotar\]/si","<div><p><b>\\1
Dijo:</b></p>\\2</div>",$mensaje);
devuelve
Código:
<div><p><b>Raul Dijo:</b></p>Compra Frutas.</div> Ok!
fijate bien, y mira el nombre de las variables tambien ^^
exitos