2016-08-22 3 views
-1

PHPからHTMLを返したいと思います。 StackOverflowからjson_encodeの配列の後にJSON_HEX_QUOT | JSON_HEX_TAGという文字列を挿入したソリューションが見つかりましたが、それは私のためには機能しません。すぐにそれをエコーすると、ページ上にテキストが表示されますが、json_encodeでは機能しません。ここでJSON_HEX_QUOTをエンコードしようとしても、JSON_EncodeがHTMLを返さない| JSON_HEX_TAG

は私のコードです:

<?php 
    header('Content-Type: application/json'); 
    $servername = "localhost"; 
    $username = "root"; 
    $password = ""; 
    $dbname = "mcblog"; 
    $conn = new mysqli($servername, $username, $password, $dbname); 
    $sql = "select ID,post_parent,post_title,post_content,post_date from wp_posts where post_content<>'' and post_title<>'' order by post_date desc limit 0,10"; 
    $result = $conn->query($sql); 
    $data=array(); 
    $row = $result->fetch_assoc(); 
    $html=strip_tags($row["post_content"]); 
    $snippetData=array('status'=>'1','data'=>$row["post_content"]); 
    echo json_encode($snippetData, JSON_HEX_QUOT | JSON_HEX_TAG); 
?> 
+0

私はあなたの問題がわからない。 'json_encode'はHTMLではなくJSON文字列を返すことになっています。 'json_encode'は何も返さないのですか? ['json_last_error'](http://php.net/manual/en/function.json-last-error.php)でエラーをチェックしてください。 –

+1

HTMLを返すには、なぜ 'json_encode'を使用していますか?あなたはあなたが欲しいものを知っていますか? –

+0

実際にはデータベースにhtmlがあり、それらのタグを削除してjson形式で戻したいと考えています。しかし、問題が私はデータベースからフェッチするときwirte エコー$ snippetData。それは仕事とディスプレイですが、現在はjson_encodeで作業しています。フィールドをコピーしてそれを変数に代入すると、同じように動作します $ html = ""; データベースからフィールドをコピーして変数に格納すると、json_encode(array( "data" => $ html));それから仕事は何をすべきか分からない –

答えて

1

私はタグなしでHTMLを達成したいとJSON形式でその結果を返します。だから私はこれでやった:

echo json_encode(array("id"=>"1","data" => utf8_encode(strip_tags($row["post_content"])))); 
関連する問題