2016-08-22 41 views
-1

我想从PHP返回HTML。我发现了一个来自StackOverflow的解决方案,它在json_encode之后插入JSON_HEX_QUOT | JSON_HEX_TAG,但它不适用于我。如果我只是立即回应它,它正在工作并在页面上显示文本,但它不适用于json_encodeJson_Encode不返回HTML,即使我尝试编码JSON_HEX_QUOT | 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'应该返回JSON字符串而不是HTML。 'json_encode'没有返回任何东西?用['json_last_error']检查错误(http://php.net/manual/en/function.json-last-error.php)。 –

+1

如果你想返回HTML,你为什么使用'json_encode'?你甚至知道你想要什么? –

+0

其实他们是在数据库中的HTML,我想删除这些标签并返回JSON格式。但问题是当我从数据库中获取数据时,如果wirte echo $ 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"])))); 
相关问题