我希望在转到网址之前收到确认消息,但是在转发消息中的引号时会遇到问题。
出现此错误:
Error: SyntaxError: missing ) after argument list
Code: return confirm('Please confirm delete: 'iphone'');
当我var_dump输出时,它正确地将引号转换为:'
此处测试代码:
<?php
$text = 'Please confirm delete: \'%s\'';
$config_text = sprintf($text, 'iphone');
?>
<a href="" onclick="return confirm('<?php echo $config_text; ?>');">Click 1</a>
<br /><a href="" onclick="return confirm('<?php echo htmlspecialchars($config_text, ENT_QUOTES, 'UTF-8'); ?>');">Click 2</a>
<br /><a href="" onclick="return confirm('<?php echo mb_convert_encoding($config_text, 'HTML-ENTITIES', 'UTF-8'); ?>');">Click 3</a>
我知道这个问题已经被许多其他时间问过,很可能会被关闭,但我尝试过的一切都没有用。
答案 0 :(得分:2)
使用双引号变量$ text
,所有三次点击都可以正常工作$text = "Please confirm delete: \'%s\'";
您应该看到正确的网页源代码:
<a href="" onclick="return confirm('Please confirm delete: \'iphone\'');">Click 1</a>
<br /><a href="" onclick="return confirm('Please confirm delete: \'iphone\'');">Click 2</a>
<br /><a href="" onclick="return confirm('Please confirm delete: \'iphone\'');">Click 3</a>