PHP无法显示带有“”的项目'"在他们身上

PHP Cannot display items with " ' " in them

本文关键字:quot 他们 项目 显示 PHP      更新时间:2023-09-26

我有一份可以选择订购的食物清单。不带"的名字很好用,但像Pasqua Nero D‘Avola Sicilia这样的名字不起作用。我尝试将"替换为''",但仍然存在相同的问题。代码如下(x为项目):

            var newRow = "<tr><td>"+x+"</td><td>€"+y.toFixed(2)+"</td><td><input type='"button'" onclick='"subtract("+y+")'" value = '"X'"></td></tr>"

htmlspecialchar()函数中使用$item['name']

htmlspecialchars($item['name'])

由于属性中的'冲突,您需要转义字符。

这里有一个你可以用来安全地逃离食物名称的功能:

function jsattrencode($x){
    $x=htmlentities(htmlspecialchars($x,ENT_QUOTES,'UTF-8',false),ENT_QUOTES,'UTF8');     
    return $x;   
}

根据您的需要使用:

$('#item').append("<tr style='font-size: 16px;'><td><a href='#' onclick=''addItem('"<?php echo jsattrencode($item['name']);?>'",<?php echo jsattrencode($item['price']);?>)''><?php echo $item['name'];?></td><td>&euro;<?php echo $item['price'];?></a></td></tr>");

注意:确保php和html字符集都设置为utf-8