$mensaje = nl2br(
$juan);
Aparte del error en la variable, se te olvida:
Edito: Mas errores: Ya viste las dos comillas sencillas juntas en $search y $replace?
mysql_query("UPDATE posts SET nombre='$nombre', mensaje='
$juan', tags='$tags', categoria='$categoria' WHERE id = '$_POST[id_post]' ");