将PHP字符串传递给HTML href“属性萎缩问题

时间:2011-03-08 12:42:36

标签: javascript quotes syntax-error apostrophe double-quotes

我正在尝试将字符串从PHP变量传递给HTML

 <a href="javascript:deleteProduct('<?=addslashes($row['productName'])?>');"

问题在于撇号。该字符串可能包含单撇号和双撇号'和',如下例所示:

<a href="javascript:deleteProduct('Richdel, 2400\', 1\", fi fara solenoid');"

由于不正确使用撇号,语法错误,它不会触发Javascript函数。它处理为“将是href属性值的结束。

如何解决此问题?

2 个答案:

答案 0 :(得分:2)

<?= htmlentities(addslashes($row['productName'])) ?>

会将"转换为&quot;,因此它们会进入HTML。

答案 1 :(得分:0)

简单的字符串替换将完全删除这两种类型的引用。

<?php echo str_replace("'", '', str_replace('"', '', $row['product'])); ?>