下面的函数
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/