MySQL macht nicht automatisch Slashes vor irgendwelche Zeichen. Im Gengenteil - man muss dieses Escaping manuell erledigen (mysql_escape_string()). Es gilt auch nur für das SQL - inder DAtenbank selbst und beim Auslesen bekommt man wieder das Original.
PHP macht mit der Option magic_quotes_gpc Slashes in diversen Benutzereingaben. Darauf sollte man sich jedoch nicht verlassen und die Option lieber deaktivieren.
Außerdem nutzt du ereg - die Posix-RegEx sind um vieles langsamer und können weniger als die PCRE (preg_*). Auch solltest du RegEx immer in Single Quotes schreiben. Damit mußt du nicht mehr so viele Zeichen in der RegEx escapen und sie bleibt lesbarer.
Interessant finde ich die Subpattern
.+. - mindest eines aber beliebig viele Zeichen gefolgt von genau einem beliebigen Zeichen. Wozu dienen Sie? - Warum nicht
[^"]+?
---
Weaverslave