Probably the most awkward approach possible.
PHP Code:
function quine() {
temp.q=function(s){temp.o="";temp.i=0;for(i=0;i<s.length();++i){temp.c=s.substring(i,1);if(c=="\n")o@="\\n";elseif(c=="\"")o@="\\\"";elseif(c=="\\")o@="\\\\";else o@=c;}return o;};
temp.s="function quine() {\ntemp.q=function(s){temp.o=\"\";temp.i=0;for(i=0;i<s.length();++i){temp.c=s.substring(i,1);if(c==\"\\n\")o@=\"\\\\n\";elseif(c==\"\\\"\")o@=\"\\\\\\\"\";elseif(c==\"\\\\\")o@=\"\\\\\\\\\";else o@=c;}return o;};\ntemp.s=\"STR\";\ntemp.p=temp.s.pos(\"STR\");\nreturn temp.s.substring(0,temp.p)@temp.q(temp.s)@temp.s.substring(temp.p+3);\n}";
temp.p=temp.s.pos("STR");
return temp.s.substring(0,temp.p)@temp.q(temp.s)@temp.s.substring(temp.p+3);
}