gpt4 book ai didi

php - 为 JSON 字符串编码 HTML

转载 作者:行者123 更新时间:2023-11-29 01:22:14 26 4
gpt4 key购买 nike

我将 html 作为原始 html 存储在 mysql 数据库中。我正在提取内容并将其放入数组中,如下所示。该数组是 json_encoded,但如果有任何双引号或 url,则显示 JSON 字符串的 javascript 会中断。

是否可以对 html 进行编码以通过 JSON 工作?

这是我正在使用的摘录

    <?php
$rows = array();
$sql ="SELECT html FROM table";

try {
$sth = $dbh->query($sql);
while($r = $sth->fetch(PDO::FETCH_OBJ)) {
$rows[] = $r;
}
}
catch(PDOException $e) {
echo "I'm sorry, Dave. I'm afraid I can't do that. $e";
}
?>

var json = JSON.parse('<?php print json_encode(json_encode($rows)); ?>');

当前输出的json字符串抛出javascript错误说unexpected <

[{"html":"<a href="http:\/\/www.url.com">\n<img src="http:\/\/www.url.com\/img\/logo.png">\n<\/a>"}]

请不要讲为什么这可能是一件坏事。这是我的客户特别要求的,我只需要知道这是否可行。

最佳答案

我同意 Mark B 的回答,但您可以使用 fetchAll() 和 json_encode() 作为此函数的结果。为什么使用 PDO 对象获取而不是数组获取?

<?php
$rows = array();
$sql ="SELECT hmtl FROM table";

try {
$sth = $dbh->query($sql);
$rows = $sth->fetchAll(PDO::FETCH_ASSOC);
}
catch(PDOException $e) {
echo "I'm sorry, Dave. I'm afraid I can't do that. $e";
}
?>

var json = <?= json_encode($rows); ?>;

此外考虑通过 AJAX 获取它。

关于php - 为 JSON 字符串编码 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17054401/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com