Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/421.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中的Javascript回显结果_Javascript_Echo - Fatal编程技术网

PHP中的Javascript回显结果

PHP中的Javascript回显结果,javascript,echo,Javascript,Echo,好的,我有一些Javascript代码,我想回应一下 这是我想要回显的代码,我希望它基本上打印出生成的“hospital”和“scramble”的响应,到目前为止,我无法在PHP中回显结果 <script language="JavaScript"> <!-- function hospital() { var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz"; var st

好的,我有一些Javascript代码,我想回应一下

这是我想要回显的代码,我希望它基本上打印出生成的“hospital”和“scramble”的响应,到目前为止,我无法在PHP中回显结果

<script language="JavaScript">
<!--
 function hospital() {
  var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz";
  var string_length = Math.floor(Math.random() * (3000 - 256 + 1)) + 256;
  var prngstring = '';

  for (var i = 0; i < string_length; i++) {
   var rnum = Math.floor(Math.random() * chars.length);
   prngstring += chars.substring(rnum,rnum+1);
  }
  document.theform.hospital.value += prngstring;
 }

 function catchme() {
     var rounds = 812;
        var scramble = "lbwnaoJJgJbQCc1zxfiQugycOhboPrdbciAVBaBeqnzXzhztbPddaBWzNjcrafefibAcnJohbDQDbuaueudckuGvAuccEhPmehbjZdaecgAMphcPAeabFvxsGwteWS";

        for (var i = 0; i <= rounds; i++) {
            scramble = sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(scramble)).toUpperCase();
        }
        document.theform.waste.value += scramble;
        hospital();
    }
-->
</script>


非常感谢您的支持。

没有调用catchme功能。您需要调用catchme函数,以使以下语句正常工作

  • document.theform.waste.value+=加扰
  • document.theform.hospital.value+=prngstring
使catchme成为一个自调用函数

(function catchme() {
     var rounds = 812;
        var scramble = "lbwnaoJJgJbQCc1zxfiQugycOhboPrdbciAVBaBeqnzXzhztbPddaBWzNjcrafefibAcnJohbDQDbuaueudckuGvAuccEhPmehbjZdaecgAMphcPAeabFvxsGwteWS";

        for (var i = 0; i <= rounds; i++) {
            scramble = sjcl.codec.hex.fromBits(sjcl.hash.sha256.hash(scramble)).toUpperCase();
        }
        document.theform.waste.value += scramble;
        hospital();
    })();
(函数catchme(){
var=812;
var scramble=“lbwnaojjgjbqcc1zxfiquickychohbordbciavbabeqnzxzhztbddabwznjcrafefibacnjohbdqdbaueudckugvauccehpmehbjzdaecgamphcaabefvxsgwtews”;

对于(var i=0;i您有几个选项可以使用php打印javascript代码。您可以直接回显“[所有的js都在这里]”但这很笨拙,需要很多转义字符。如果您不熟悉转义字符的概念,如果我想在字符串中包含双引号,我可能会错误地编写如下内容:

$var = "Foo"Bar";
这将导致问题,因为解释器将看到

$var = ["Foo"][Bar]["....]....
其中,最后一位是php文件中的所有文本,直到下一个双引号。然后,它将解析该双引号之后的文本,该双引号应该被解析为字符串,作为代码解析,直到结束引号,它将开始将代码解析为字符串,等等。因此,我们使用转义字符(通常)表示在字符串中使用特殊字符的时间,如下所示:

$var=“Foo\”Bar

如果你能避免的话,这很费时,也很难阅读,你可以

您可以在一个php文档中使用多对php标记()。在一组php标记之外编写的任何内容都将被打印出来,因此您只需关闭标记,打印代码,然后根据需要打开另一个php标记


请参阅本文,以了解有关回显大块文本的其他有用提示:

很抱歉这么晚才这么笨,但我该怎么做?使用catchme()就像使用hospital()一样。您可以将catchme封装在一个自调用函数中。我发现最适合我的是一个或一个
echo
,因为JavaScript可以按原样粘贴,而不必担心必须转义所有引号。