在PHP中输出jQuery,引号问题
我尝试用PHP输出以下内容:在PHP中输出jQuery,引号问题,php,jquery,quote,Php,Jquery,Quote,我尝试用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+']''); "); $this->Js->buffe
$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+']'');
");
$this->Js->buffer(“
var searchTerm=$(this.html();
var searchId=$(this.attr('data-tag');
$('.tags')。追加('转义字符串中的'
分隔符。转义字符串中的'
分隔符。在输出时转义“using\”和“using\”字符。在输出时转义“using\”和“using\”字符
$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+\"']');
");
$this->Js->buffer(“
var searchTerm=$(this.html();
var searchId=$(this.attr('data-tag');
$('.tags')。追加('try
$this->Js->buffer(“
var searchTerm=$(this.html();
var searchId=$(this.attr('data-tag');
$('.tags')。append('您还可以通过将单引号替换为双引号来防止单引号和双引号绊倒您,例如:
$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+']\">');
");
$this->Js->buffer(“
var searchTerm=$(this.html();
var searchId=$(this.attr('data-tag');
$('.tags')。追加('');
");
将输出:
var searchTerm = $(this).html();
var searchId = $(this).attr('data-tag');
$('.tags').append('<input type="text" value='+searchTerm+' name="data[Tag][tags]['+searchId+']">');
var searchTerm=$(this.html();
var searchId=$(this.attr('data-tag');
$('.tags')。追加('');
您还可以通过将单引号替换为双引号来防止单引号和双引号绊倒您,例如:
$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+']\">');
");
$this->Js->buffer(“
var searchTerm=$(this.html();
var searchId=$(this.attr('data-tag');
$('.tags')。追加('');
");
将输出:
var searchTerm = $(this).html();
var searchId = $(this).attr('data-tag');
$('.tags').append('<input type="text" value='+searchTerm+' name="data[Tag][tags]['+searchId+']">');
var searchTerm=$(this.html();
var searchId=$(this.attr('data-tag');
$('.tags')。追加('');
这里的问题是'
。首先,您错过了
;-)其次,您必须使用“
或\'
来包装文本
,'
是可以的。但是这会与PHP冲突,因为“
用于PHP字符串。因此,您必须跳出两个问题:'
但说真的,这真是一团糟。试着直接在HTML模板中编写Javascript,这会让你省心的
这里的问题是'
。首先,您错过了
;-)其次,您必须使用“
或\'
来包装文本
,'
是可以的。但是这会与PHP冲突,因为“
用于PHP字符串。因此,您必须跳出两个问题:'
但说真的,这真是一团糟。尝试直接在HTML模板中编写Javascript,这会让你省去很多头痛。如果你真的需要在PHP文件中放入JS(这很糟糕,请将其保存在外部文件中,然后将其包括在内),请使用以下语法(或):
$this->JS->buffer(如果您真的需要将JS放入PHP文件中(这很糟糕,请将其保存在外部文件中,然后将其包括在内),请使用以下语法(或):
$this->JS->buffer(完整的最后一行JS应该是这样的,正确转义:$('.tags').append(“”);
完整的最后一行JS应该是这样的,正确转义:$('.tags')。append(“”);
它使用的是CakePHP的JS缓冲区,那么我会说CakePHP不好(实际上,我以前已经这么做了:p)但是你可以很容易地加载一个文件:$this->JS->buffer(file\u get\u contents('path/to/your/file.JS'));
它使用的是CakePHP的JS buffer,那么我会说CakePHP不好(实际上,我之前已经这么做了:p)。但是你可以很容易地加载一个文件:$this->JS->buffer(file\u get\u contents('path/to/your/file.JS'))
Ugh,转义狂欢很糟糕。如果你必须转义长度超过几个字符的字符串或转义大量引号,那么你很可能做了坏事。从技术角度看,你的答案很好,但仍然是糟糕的代码。结尾可能应该有一个
,没错,Znarkus。我只是使用了给定的字符串,没有对其内容进行太多检查。呃,转义狂欢是不好的。如果你必须转义长度超过几个字符的字符串中的某个内容,或者必须转义相当多的引号,那么你很可能做了不好的事情。从技术角度来看,你的答案很好,但它是sti我的代码很糟糕。结尾可能会有一个
,没错,兹纳库斯。我只是按照给定的方式使用字符串,没有对其内容进行太多检查。
$this->JS->buffer(<<<EOF
var searchTerm = $(this).html();
var searchId = $(this).data('tag');
$('.tags').append('<input type="text" value="'+searchTerm+'" name="data[Tag][tags][' +searchId+']"');
EOF
);