gpt4 book ai didi

php - 如何通过输出数组的每一行的特定一个属性来运行 htmlentities()

转载 作者:行者123 更新时间:2023-12-02 18:34:05 25 4
gpt4 key购买 nike

现在我正在尝试通过 htmlentities() 函数运行数组中每一行(“记录”/对象)的一个属性/“列”。因为只有该属性/列包含将在 DOM html 中输出的字符串。

但是,我正在获取所需的行并将它们全部放入一个数组中,然后对数组进行 JSON 编码并发送整个射线。就像这样:

<?php
include('connect.php');

$result = mysqli_query($con,"SELECT * FROM pointers WHERE `public` = 1;");

$rows = array();

while($r = mysqli_fetch_array($result))
{
$rows[] = $r;
}

echo json_encode($rows);
mysqli_close($con);
?>

我的表格的示例

+------+------+------+------+
|key |attr1 |attr2 | attr3|
+------+------+------+------+
|1 | int |string| int |
+------+------+------+------+
|2 | int |string| int |
+------+------+------+------+
|... | ... | ... | ... |
+------+------+------+------+

Attr2 是唯一存储字符串的列。

我想知道如何通过该 attr2 为所选的每一行运行 htmlentities()。

我尝试对所有内容进行 htmlencode:

echo json_encode(htmlencode($rows));

但是我的输出没有显示...

此外,在我收到行/记录后,在 javascript/jQuery 中是否有相当于 htmlencode() 客户端的方法?因为目前我可以使用类似 dataResponse.attr2

的内容轻松访问每行/记录的特定字符串

感谢您的帮助!

最佳答案

恕我直言,无论哪种方式,您都不应该使用htmlentities(除非您有充分的理由这样做),而只需使用htmlspecialchars()。当您应该这样做时,是在使用元素构造数组时:

while($r = mysqli_fetch_array($result))
{
$r['attr2'] = htmlspecialchars($r['attr2'], ENT_QUOTES, 'UTF-8');
$rows[] = $r;
}

但是,如果您只想使用此数据发送到客户端以使用 javascript 进行处理/添加到 DOM,我只需使用 .createTextNode()

关于php - 如何通过输出数组的每一行的特定一个属性来运行 htmlentities(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17506859/

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