这是我的代码:
$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
我尝试过各种单引号,双引号和转义的组合?
我不知所措,我错过了什么?
谢谢!
答案 0 :(得分:3)
只需使用反斜杠转义字符串中的引号:
$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 />';
请参阅the PHP manual:
要指定文字单引号,请使用反斜杠(\)转义它。
答案 1 :(得分:2)
在这种情况下,为了便于阅读,建议使用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;
这避免了必须逃避任何报价。你可以在这样的一个块中写出$变量。
答案 2 :(得分:1)
正如荧光笔告诉你的那样,php将在{fields : 'url_abs'}
附近失败。你在单引号字符串中,所以你必须转义字符串中的单引号:
{fields : \'url_abs\'}
,
答案 3 :(得分:0)
问题是url_abs周围的单引号。