如何通过SWFObject将PHP变量作为FlashVars传递

如何通过SWFObject将PHP变量作为FlashVars传递,php,flash,swfobject,actionscript-3,Php,Flash,Swfobject,Actionscript 3,我试图获取一个PHP变量,并通过Flash变量将其传递给Flash。我的最终目标是将一个格式化为XML的字符串传递给Flash,但由于我正在努力,我已经将所有内容剥离到基本内容。我只是想通过带有SWFObject的FlashVars将一个简单的PHP字符串变量传递给Flash,但有点不对劲。当我试图传递php标记内部的变量时,页面不会加载,但是如果我只传递一个硬编码字符串,页面就会加载。我的页面的基本结构是在顶部声明了一些PHP,如下所示: PHP 如何使用SWFObject和FlashVars

我试图获取一个PHP变量,并通过Flash变量将其传递给Flash。我的最终目标是将一个格式化为XML的字符串传递给Flash,但由于我正在努力,我已经将所有内容剥离到基本内容。我只是想通过带有SWFObject的FlashVars将一个简单的PHP字符串变量传递给Flash,但有点不对劲。当我试图传递php标记内部的变量时,页面不会加载,但是如果我只传递一个硬编码字符串,页面就会加载。我的页面的基本结构是在顶部声明了一些PHP,如下所示:

PHP

如何使用SWFObject和FlashVars传递PHP变量


谢谢。

呃,我需要逃离闪变器,它成功了

对任何感兴趣的人来说,这就是我需要改变的

flashvars.theXML = <?php print $test ?>;
flashvars.theXML=;
为此:

flashvars.theXML = escape('<?php print $test ?>');
flashvars.theXML=escape(“”);

呃,我需要逃离闪光灯,它成功了

对任何感兴趣的人来说,这就是我需要改变的

flashvars.theXML = <?php print $test ?>;
flashvars.theXML=;
为此:

flashvars.theXML = escape('<?php print $test ?>');
flashvars.theXML=escape(“”);
escape()不是一种简单的逃生方式(!)

改用encodeURIComponent()

这是常见问题解答的第9点:

  • 如何使用flashvars将URI或HTML代码作为值传递
  • 特殊字符与符号= 和&不能直接在内部使用 flashvars值(后者是因为 它们用于堆叠flashvars 他们自己)

    您可以通过以下方法解决此问题: 在之前转义这些字符 将它们作为flashvar值传递。一 例如:

    编码器组件(“&trade”)将 成为贸易伙伴

    这些值将在您的 swf已经没有编码,所以没有 在您的swf内需要避开

    请注意,encodeURIComponent不是 在所有浏览器中都可用,但是 可在所有常见的现代 版本。如果你需要完全向后 兼容性,可以使用escape() 相反,请注意escape()确实如此 不能很好地使用双字节 字符(如中文)

    您还可以转义这些字符 使用以下命令手动执行:

    * %3D instead of =
    * %26 instead of &
    
    escape()并不是一种万无一失的逃跑方式(!)

    改用encodeURIComponent()

    这是常见问题解答的第9点:

  • 如何使用flashvars将URI或HTML代码作为值传递
  • 特殊字符与符号= 和&不能直接在内部使用 flashvars值(后者是因为 它们用于堆叠flashvars 他们自己)

    您可以通过以下方法解决此问题: 在之前转义这些字符 将它们作为flashvar值传递。一 例如:

    编码器组件(“&trade”)将 成为贸易伙伴

    这些值将在您的 swf已经没有编码,所以没有 在您的swf内需要避开

    请注意,encodeURIComponent不是 在所有浏览器中都可用,但是 可在所有常见的现代 版本。如果你需要完全向后 兼容性,可以使用escape() 相反,请注意escape()确实如此 不能很好地使用双字节 字符(如中文)

    您还可以转义这些字符 使用以下命令手动执行:

    * %3D instead of =
    * %26 instead of &