我的PHP文档末尾有一个变量,在页脚中。但是,因为它是模板,所以在每个页面中以不同方式创建变量的内容。该变量的大部分内容都是JS,看起来像这样:
$myVar = '
$(function() {
'.$qTip.'
$(".delDupe").click(function(){
$(this).parent().find("input").val("");
$(this).remove();
});
function custAxis() {
if ($("#axisChk").is(":checked")){
$(".customAxis").show();
} else {
$(".customAxis").hide();
}
}
custAxis();
});
这只是所有JS的一小部分。我想包含这个JS,仍然将它作为PHP变量的一部分,但不在PHP之外。可能吗?
$myVar = '?>
// my JS
<? ';
答案 0 :(得分:2)
您可以使用以下格式:
$myVar = <<<EOD
Example of string
spanning multiple lines
using heredoc syntax.
EOD;
答案 1 :(得分:1)
您可以使用heredoc:
<?
$myVar = <<<END
$(function() {
....
END;
echo $myVar;
?>
答案 2 :(得分:1)
你可以使用heredoc
<?php
$myVar = <<<EOD
$(".delDupe").click(function(){
$(this).parent().find("input").val("");
$(this).remove();
});
$qTip
function custAxis() {
if ($("#axisChk").is(":checked")){
$(".customAxis").show();
} else {
$(".customAxis").hide();
}
}
EOD;
?>
或者您可以使用ob_start并跳出PHP并将输出作为变量获取,这就是我加载所有视图的方式/ html
<?php
ob_start();
?>
$(".delDupe").click(function(){
$(this).parent().find("input").val("");
$(this).remove();
});
<?=$qTip;?>
function custAxis() {
if ($("#axisChk").is(":checked")){
$(".customAxis").show();
} else {
$(".customAxis").hide();
}
}
<?php
$myVar = ob_get_contents();
ob_end_clean();
echo $myVar;
?>
答案 3 :(得分:0)
将JavaScript放入html并从php输出$ qTip字符串。它与你所做的或多或少相同的效果,只是用另一种方式写的。
$(function() {
<?=$qTip?>
$(".delDupe").click(function(){
$(this).parent().find("input").val("");
$(this).remove();
});
function custAxis() {
if ($("#axisChk").is(":checked")){
$(".customAxis").show();
} else {
$(".customAxis").hide();
}
}
custAxis();
});