Regular expression strings are tricky at best sometimes, especially when dealing with characters that need to be escaped.
You might also try using a single-quoted string to avoid the first round of variable substitution and escaped character conversion.
'\"' is parsed literally as two characters, where as
"\"" is parsed as just the one. You need the two-character version for your regular expression, I think.
However, this all begs the question, why not just use htmlentities() or htmlspecialchars()?