When using htmlspecialchars on your output, the result you get is \"Come on..\"
unless ENT_NOQUOTES is set.
To get the original string Hello, Mr. John. "Come on.."
you have to
$result = htmlspecialchars_decode( stripslashes($raw) );
or
$result = htmlspecialchars(stripslashes($raw), ENT_NOQUOTES);
when you're calling htmlspecialchars