在 PHP 中输出 jQuery,引号问题
我有这个我正在尝试用 PHP 输出:
$this->Js->buffer("
var searchTerm = $(this).html();
var searchId = $(this).attr('data-tag');
$('.tags').append('<input type='text' value='+searchTerm+' name='data[Tag][tags]['+searchId+']'');
");
但我也不确定引号和 javascript 变量。
有人可以帮忙吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(6)
您还可以通过将单引号替换为双引号来阻止单引号和双引号绊倒您,例如:
将输出:
You can also stop single and double quotes from tripping you up by swapping singles for doubles, e.g.:
Would output:
转义字符串内的
'
分隔符。Escape the
'
delimiter inside of your strings.输出时转义 ' using \' 和 " using \" 字符
Escape ' using \' and " using \" characters while outputting
尝试
try
那是你的代码。在 PHP
""
中,您必须编写单引号'
或转义双引号\"
。您已选择使用单引号,这很好,但生成的 JS 代码也必须遵循这些规则,这里的问题是
'
。 code> ;-) 其次,您必须使用"
或\'
来换行文本
。''
没问题。但这会与 PHP 发生冲突,因为"
用于 PHP 字符串。因此,您必须转义双 qoutes:''
。但是说真的,这太乱了。尝试直接在 HTML 模板中编写 Javascript,这会让你省去很多麻烦。
That is your code. Inside the PHP
""
you must write single quotes'
or escape double quotes\"
. You have chosen to use single quotes, which is fine, except the generated JS code must also follow these rules.The problem here is
'<input type='text'...>
. First, you missed the>
;-) Second, you must either use"
or\'
to wraptext
.'<input type="text"...>'
is okay. But this would conflict with PHP, since"
was used for the PHP string. Therefor you'd have to escape the double qoutes:'<input type=\"text\"...>'
.But seriously, this is a mess. Try to write Javascript directly in the HTML template, it will save you so much head ache.
如果您确实需要将 JS 放入 PHP 文件中(这很糟糕,请将其保存在外部文件中,然后包含它),请使用
heredoc
语法(或nowdoc
< /a>):If you REALLY need to put JS in your PHP files (it's bad, save it in an external file and then include it), use the
heredoc
syntax (ornowdoc
):