php 在包含 javascript 和引号时遇到问题?

发布于 2024-11-09 21:29:59 字数 467 浏览 3 评论 0原文

这是我的代码:

$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

我已经尝试了单引号、双引号和转义的每种类型的组合?

我很茫然,我错过了什么??

谢谢!!

Here is my code:

$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 />';

It is breaking syntax error, unexpected T_STRING

I have tried every type of combination of single quotes, double quotes and escaping ??

I am at a loss, What am I missing??

Thanks!!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

慕烟庭风 2024-11-16 21:29:59

只需用反斜杠转义字符串内的引号:

$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手册

要指定文字单引号,请使用反斜杠 (\) 将其转义。

Just escape your quotes inside the string with a backslash:

$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 />';

See the PHP manual:

To specify a literal single quote, escape it with a backslash (\).

幽梦紫曦~ 2024-11-16 21:29:59

在这种情况下,建议使用 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 。

In such cases it's advisable to resort to HEREDOC strings, also for readability:

$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;

This avoids having to escape any quotes. And you can just write $variables as-is within such a block.

七七 2024-11-16 21:29:59

正如荧光笔告诉您的那样,php 将在 {fields : 'url_abs'} 附近失败。您位于单引号字符串内,因此您必须转义字符串内的单引号:
{字段:\'url_abs\'}

As the highlighter tells you, php will fail near {fields : 'url_abs'}. You're inside a single quoted string, so you'll have to escape the single quotes inside the string:
{fields : \'url_abs\'},

ゞ花落谁相伴 2024-11-16 21:29:59

问题是 url_abs 周围的单引号。

The issue is the single quotes around url_abs.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文