PHPでHTMLを埋め込める掲示板スクリプトを作ってますが

<…>となっている不等号はHTMLタグとみなして、そのままにしておき
それ以外のHTMLタグとみなせない不等号を<と>に置き換えて
HTMLタグ内にない”と&をそれぞれ"と&に変換するように
正規表現を書きたいのですが色々書き直して試してますが
思い通りに動作しなくて困ってます。
どのように正規表現を書けばよいか知恵を貸してください。お願いします。

<…>の形になってない不等号を<と>に置き換える作業は今は
以下のようになってます。

$message = @ereg_replace("<(([^>]|\n)*)<", "<\\1<", $message);
$message = @ereg_replace("<(([^>]|\n)*)", "<\\1", $message);
$message = @ereg_replace("(([^<]|\n)*)>", "\\1>", $message);