Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中输出jQuery,引号问题_Php_Jquery_Quote - Fatal编程技术网

在PHP中输出jQuery,引号问题

在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

我尝试用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->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
);