PHP:编写字符串麻烦

时间:2013-05-04 16:53:22

标签: php html

我正在使用这个PHP代码

echo " onclick='myFunction(" . $row['username'] . ")'"

给我这个结果

onclick="myFunction(Francis88)"

但我想要这个:

onclick="myFunction('Francis88')"

如何更改我的PHP代码以获取此功能?

2 个答案:

答案 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的缺点。