PHP json_encode html元素包含不需要的空格

I have a problem here.

index.php

ob_start();
include '../view/user.php';
$include = ob_get_clean();

echo json_encode(array(
"success" => true,
"status" => "ok",
"data" => $include));

user.php

<div>
<h2 class='workspace-name'>
<?php echo $name; ?>
</h2>
</div>

The problem is if I indent the HTML element in user.php properly (for readability), there will be a lot of \t\t\t, provided I use jquery.get to get JSON dataType.

How do I get rid of the /r/t/n? Although it doesn't display on screen I don't feel right about it. Is there any better solution? Any question please drop in the comment I will edit this. thanks

Why not use str_replace() to replace those characters.

"data" => str_replace(array("
","","\t"),'',$include)));

EDIT: Or use the following when dealing with HTML like <a\thref='#'>Click Here</a> (thanks to @Salman A for pointing this out)

"data" => str_replace(array("
","","\t"),' ',$include)));

This is so ugly, but it is how I do it:

$html = str_replace("\t",'&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;',$html);
$html = str_replace("
",'<br />',$html);

I'll be following this for a better answer. There must be a regex way.

$include = preg_replace("@[\|\
|\\t]+@", "", ob_get_clean());