我正在使用这个PHP代码
echo " onclick='myFunction(" . $row['username'] . ")'"
给我这个结果
onclick="myFunction(Francis88)"
但我想要这个:
onclick="myFunction('Francis88')"
如何更改我的PHP代码以获取此功能?
答案 0 :(得分:3)
使用\
来转义字符串中的字符,例如:
echo " onclick=\"myFunction('" . $row['username'] . "')\""
答案 1 :(得分:2)
我会使用json_encode()
来确保它不会像O'Reilly这样的名字搞砸了;然后,应用htmlspecialchars()
以确保生成的字符串不会导致HTML属性出现问题:
printf(' onclick="myFunction(%s)"',
htmlspecialchars(json_encode($row['username']), ENT_QUOTES, 'UTF-8')
);
我也在这里使用单引号,因此HTML属性值可以用双引号括起来;可辩论,但我讨厌单引号属性; - )
另请参阅我的previous answer以了解使用内联JavaScript的缺点。