No es necesario que uses preg_replace, basta con
str_replace (que además es más "ligera"):
Código PHP:
str_replace('"', '\"', $cadena_original);
Si también querés sustituir otros caracteres "peligrosos", podrías considerar el uso de
addslashes()
Saludos.