我试图摆脱使用 PHP 的 htmlentities,但我在这里停止了:
<?php
echo '<img ... onclick="MP.view(\''.$i->name.'\') />';
?>
但后来我想,我不做替换和检查特殊字符,而是只 JSON 整个对象。
<?php
echo '<img ... onclick="MP.view('.json_encode($i).') />';
?>
这提供了一个非常不受欢迎的结果,其中包含大量双引号。
那么我应该怎么做呢?我应该为每个图像分配一个数字唯一的 id 并只传递该 id,然后从 JS 数组中查找其余数据吗?
在这种情况下,正确的做法是:
htmlspecialchars(json_encode($var), ENT_QUOTES, "UTF-8")
htmlspecialchars http://php.net/htmlspecialchars将任何双引号转换为正确的 HTML 转义符,使生成的字符串适合大多数属性。这ENT_QUOTES
参数还处理单引号;但在您的示例中可能不需要它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)