最初のpreg_replaceの正規表現に戻り読みで@がない条件をつければなんとかなんじゃね?