4

ここで問題があります。

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>

問題は、(読みやすくするために) HTML 要素をuser.php適切にインデントすると、 JSON dataType を取得するため\r\n\t\t\tに使用する場合、大量の .jquery.get

を取り除くにはどうすればよい/r/t/nですか? 画面には表示されませんが、私はそれについて正しく感じません。より良い解決策はありますか?ご不明な点がございましたら、コメントにドロップしてください。これを編集します。ありがとう

4

3 に答える 3

6

str_replace()を使用してこれらの文字を置き換えてみませんか。

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

編集:または、HTMLのようなものを扱うときは次を使用します<a\thref='#'>Click\n\nHere</a>(これを指摘してくれた@Salman Aに感謝します)

"data" => str_replace(array("\n","\r","\t"),' ',$include)));
于 2012-11-30T16:17:47.713 に答える
0

これはとても醜いですが、それは私がそれを行う方法です:

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

より良い答えを得るために、これに従います。正規表現の方法が必要です。

于 2012-11-30T16:19:41.430 に答える
-1
$include = preg_replace("@[\\r|\\n|\\t]+@", "", ob_get_clean());
于 2012-11-30T16:23:40.250 に答える