Use output buffering. E.g.:
ob_start();
include 'foo/somepagethatcontainshtmlandphp.php';
$html = ob_get_clean();
echo json_encode(array(
'some_data' => ...,
'html' => $html
));
Please, treat this code as a sketch, something you should start with. There are more things to consider, e.g. should I be using include or require or should I be using JSON or simply text response. The answers are up to you and depend on further logics of your application/website.
More info about output buffering in the documentation.