如何解决PHP有包括JavaScript和引号的问题?
| 这是我的代码:$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
我尝试过单引号,双引号和转义组合的每种类型?
我茫然,我想念什么?
谢谢!!
解决方法
在这种情况下,出于可读性考虑,建议使用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。
,只需在字符串内用反斜杠将引号引起来:
$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手册:
要指定文字单引号,请使用反斜杠(\\)对其进行转义。
,荧光笔告诉您,php将在{fields : \'url_abs\'}
附近失败。您位于单引号中,因此您必须对字符串中的单引号进行转义:
{fields : \\\'url_abs\\\'}
,
,问题是url_abs周围的单引号。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。