0

我遇到了一个头痛的问题。我的代码中有太多的引号让我头疼。

我尝试了这两种方法,但一路都使链接断开。我查了一下chrome,在里面elements,我找到了和我后面添加的一样的源代码print($link);

如何解决问题?谢谢。

$str = 'I\'m very "shock"!';
$link=<<<EOT
<a Onclick="javascript('$str')" href="#">$str</a>'
EOT;
print($link); // <a onclick="javascript('I'm very " shock"!')"="" href="#">I'm very "shock"!</a>

或者

$str = 'I\'m very "shock"!';
$link = '<a Onclick="javascript(\''.$str.'\')" href="#">'.$str.'</a>';  
print($link); //<a onclick="javascript('I'm very " shock"!')"="" href="#">I'm very "shock"!</a>
4

2 回答 2

0

您需要双重转义引号:

$str = 'I\\\'m very "shock"!';
于 2011-07-25T22:13:01.293 回答
0

我会这样做:

$link = '<a Onclick="javascript(\''.addslashes($str).'\')" href="#">'.$str.'</a>'; 
于 2011-07-25T22:14:34.003 回答