![](/img/trans.png)
[英]Pass PHP variable to javascript including quotes and javascript
[英]php having issue with including javascript and quotes?
这是我的代码:
$buffer .= '<legend>'.$thisField.'</legend><input type="text" name="'.$thisField.'" id="'.$thisField.'"/> <a href="javascript:;" onClick="mcImageManager.browse({fields : 'url_abs'});">[Pick file]</a><br /><small>360px W x 240px H</small><br /><br />';
它打破了语法错误,意外的 T_STRING
我已经尝试过单引号、双引号和 escaping 的每种组合?
我不知所措,我错过了什么?
谢谢!!
只需使用反斜杠转义字符串中的引号即可:
$buffer .= '<legend>'.$thisField.'</legend><input type="text" name="'.$thisField.'" id="'.$thisField.'"/> <a href="javascript:;" onClick="mcImageManager.browse({fields : \'url_abs\'});">[Pick file]</a><br /><small>360px W x 240px H</small><br /><br />';
请参阅PHP 手册:
要指定文字单引号,请使用反斜杠 (\) 对其进行转义。
在这种情况下,建议使用HEREDOC字符串,以提高可读性:
$buffer .= <<<END
<legend>$thisField</legend>
<input type="text" name="$thisField" id="$thisField"/>
<a href="javascript:;" onClick="mcImageManager.browse({fields : 'url_abs'});">[Pick file]</a>
<br /><small>360px W x 240px H</small><br /><br />
END;
这避免了必须转义任何引号。 您可以在这样的块中按原样编写 $variables 。
正如荧光笔告诉你的那样, php 将在{fields: 'url_abs'}
附近失败。 您在单引号字符串中,因此您必须转义字符串中的单引号: {fields: \'url_abs\'}
,
问题是 url_abs 周围的单引号。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.