php - 如何使用 PHP 通过 JSON 发送 HTML 元素?

标签 php mysql json escaping

下面的函数

    try{
        $query =  $this->pdo->prepare("SELECT * FROM bookings WHERE TourID = ? AND dTourDate = ? and Status NOT LIKE 'Cancelled'");
        $query->execute(array($tourId,$date));
        $result = $query->fetchAll(PDO::FETCH_ASSOC);
        if(count($result)<1)
            $this->error("'Booking' Not Found.",$this->errCode->sqlNotBooking);
        $this->success("Booking List Success.",(array) $result);
    }

返回给我:

 TotalPrice":"0.00","GuestName":"Bryan Pedrochi<\/span>","ContactNumber":"042214"...

mysql中的GuestName列是这样的

<span style="background-color: rgb(255, 255, 0);">Bryan Pedrochi</span>

我不太擅长编程,我不知道该怎么做,但我相信我必须在双引号前加上反斜杠才能得到这样的正确结果

TotalPrice":"0.00","GuestName":"<style=\"background-color: rgb(255, 255, 0);\">Bryan Pedrochi</span>","ContactNumber":"042214"...

所以,我试过了

$add= $query->fetchAll(PDO::FETCH_ASSOC);
$string=serialize($add); 
$result=addslashes($string); 

我试过了

$this->success("Booking List Success.",(array) htmlentities($result));

但似乎没有任何效果。是否可以在 JSON 结果中返回 HTML 元素和反斜杠?

最佳答案

你必须去除 html 标签。

try{
    $query =  $this->pdo->prepare("SELECT * FROM bookings WHERE TourID = ? AND dTourDate = ? and Status NOT LIKE 'Cancelled'");
    $query->execute(array($tourId,$date));
    $result = $query->fetchAll(PDO::FETCH_ASSOC);
    $resultStrip = json_decode(strip_tags(json_encode($result)), true);
    if(count($resultStrip )<1)
        $this->error("'Booking' Not Found.",$this->errCode->sqlNotBooking);
    $this->success("Booking List Success.",(array) $resultStrip);
}

希望对您有所帮助。

关于php - 如何使用 PHP 通过 JSON 发送 HTML 元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47972020/

相关文章:

php - Steam api 用户数据 : Only works for one steam id, 否则不起作用

PHP 和 MySQL - 如果第一个值是 (,),如何删除它

mysql - SQL select query - 从不同字段中选择

MySQL:根据另一个查询的结果限制查询中每个组的结果数量

json - 无法打开服务器上的 Json 文件

ios - 如何在 AFNetworking 3.0 中迁移?

php - array($this, $some_method_string) 是什么意思?

php - 人脸检测和图像组合

mysql - 仅将 datetime 中的日期放入 where sql

android - 将从 JSON 响应获取的与其内容相对应的图像添加到 ListView