在php变量中编写jquery函数

时间:2013-12-21 06:06:35

标签: php jquery html json

如何在PHP变量中编写JQuery完整函数,以便在放置变量的地方调用它。并且变量也回调了json文本和php变量。那么这怎么可能呢,或者还有其他方法可以做到这一点。

 <?php
 $somevar='<div class="test"><script>document.ready(function(){$.ajax}' ;

 $body="<div>$somevar</div>";

 echo $body;

 ?>

4 个答案:

答案 0 :(得分:5)

我必须在PHP中编写大型html或js时,我喜欢使用Heredoc语法

$variable = <<<EOT
  <script>
  $(document).ready(function(){
    //your stuff
  });
  </script>
EOT;

阅读参考http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc

请参阅手册

非常重要的是要注意,带有结束标识符的行必须不包含除分号(;)之外的其他字符。这尤其意味着标识符可能没有缩进,并且在分号之前或之后可能没有任何空格或制表符。同样重要的是要认识到结束标识符之前的第一个字符必须是本地操作系统定义的换行符。这是在UNIX系统上的\ n,包括Mac OS X.结束分隔符后面也必须跟一个换行符。

如果此规则被破坏且结束标识符不是“干净”,则不会将其视为结束标识符,PHP将继续查找。如果在当前文件结束之前未找到正确的结束标识符,则会在最后一行产生解析错误。

Heredocs不能用于初始化类属性。自PHP 5.3 以来,此限制仅对包含变量的heredoc有效。

<强>更新 基于OP评论

<?php
$data = 'test';
$variable = <<<EOT
  <script>
  $(document).ready(function(){
    alert('$data');
  });
  </script>
 EOT;
 ?>
 <html>
   <head>
     <title><?php echo $data; ?></title>
    <?php echo $variable; ?>
    </head>
    <body>
      <div><?php echo "The alert showed $data";?></div>
    <body>
  </html>

答案 1 :(得分:1)

您当前的代码并不遥远。你需要一个密切的脚本标记:

<?php
$somevar='<script>alert("something");</script>';
$body="<div>$somevar</div>";
echo $body;
?>

使用上面的代码,您可以将$somevar放在输出中的有效位置,即两个其他html标记之间,并且您的javascript函数将打印出来。在我的情况下,每当它在代码中时,它会通过警告框说“某事”

答案 2 :(得分:0)

当我需要使用'。$ var。'

将变量调用到变量seprate时

$ var1 =一些代码;

$ var2 = codes'。$ var1.'other codes;

 <?php
 $somevar='<div class="test"><script>document.ready(function(){$.ajax}' ;

 $body='<div>'.$somevar.'</div>';

 echo $body;

 ?>

答案 3 :(得分:0)

考虑将您的javascript包装在PHP输出缓冲区

<?php ob_start(); ?>
$(document).ready(function() {
    var x = <?php echo $someVar; ?>;
});
<?php $script = ob_get_contents(); ob_end_clean(); ?>