2012-11-22 52 views
0

我正在测试一个脚本来自动从txt文件中读取广告)我想使用它,因为它是我已经拥有并正在工作,只需要一些更改,然而,东西停止工作,我不知道什么是错的,我检查输出和everthing似乎罚款的JavaScript,但由于某种原因它不起作用,它带有意外的令牌非法,并与未捕获的语法错误 下面是代码。任何帮助表示赞赏未捕获SyntaxError意外令牌非法JavaScript与txt文件

PHP/JavaScript的组合代码

<?php 
    $adsf = "test.txt"; 
    $count = 0; 
    $frd = fopen ($adsf,'r'); 
    $artest = array(); 
    $artest2 = array(); 
    $artest3 = array(); 
     while(!feof($frd)) 
     { 

     $artest[$count] = fgets($frd); 
     $count++; 
     } 
     fclose($frd); 


     $t = 0; 
     while($t < $count) 
     { 
     $artest2[$t] = str_replace("\n" ,'', $artest[$t]); 
      $artest3[$t] ="\"".$artest2[$t]."\", "; 

      $t++; 
     }  





      unset($artest3[$t - 1]); 
      shuffle($artest3); 
      $t = 0; 
     while ($t < $count) 
      { 

      $jsr = $jsr.$artest3[$t - 1]; 
      $t++; 

      } 

       //$jsr. = "\"test 1 test 2 test 3\", "; 
      $jsr = $jsr." \"Advertise Here come to Lot 28 or Click <a href=\\\"pub.php\\\" target=\\\"_blank\\\">HERE</a> For More Information\" "; 
     ?> 


      var avs = new Array (<?echo $jsr; ?>); 

      //var cron = 60; 
       var sub = 0; 
      function show5(){ 
       if (!document.layers&&!document.all&&!document.getElementById) 
       return 




       //change font size here to your desire 
       myclock="<font size='2' face='Arial' ><b>"+avs[sub]+"</b></font>" 
       if (document.layers){ 
        document.layers.liveclock.document.write(myclock) 
        document.layers.liveclock.document.close() 
        } 
       else if (document.all) 
        liveclock.innerHTML=myclock    
        else if (document.getElementById) 
        document.getElementById("liveclock").innerHTML=myclock 

        ; 
        sub++; 

        if(sub > <? echo $count - 1; ?>) 
        { 
         sub = 0; 

         } 
        setTimeout("show5()",5000) 
       } 


      window.onload=show5 

和问题就来了阵列上,如果我把txt文件没什么everythng工作正常,但如果我尝试tiping任何东西,曾经是工作,但现在与“未捕获的语法错误意外令牌非法”,我检查了报价,并没有问题。

+0

你需要给我们*全*错误信息,并指出哪一行是失败的。 – Sammitch

+0

'document.layers'感觉我们已经回到了90年代... – bfavaretto

+0

是的,是一个非常古老的剧本,我只是编辑过,我不需要任何幻想,因为它只是内部的东西。该行在数组avs = new array(“”,“”)..等等上失败,这可能是我读到的复制/粘贴问题。但我重置一切恢复正常,仍然开始有同样的问题。 –

回答

2

这是一个很坏很坏的坏坏坏坏主意:

  var avs = new Array (<?echo $jsr; ?>); 

看所有的逃避你,而你在PHP代码建立$jsr做。然而,如果你正确地做了这件事,用json_encode(),你只需在PHP中创建一个值的数组,例如

$jsr = array(); 
$jsr[] = "Look ma, a single quote '!!!!" 
$jsr[] = 'Hey pa, double quote here "!!!'; 

然后

var avs = <?php echo json_encode($jsr) ?>; 
+0

谢谢,这个脚本是一个非常旧的脚本,但是我为了一个新的目的而编辑它,但是,只有很少的编辑,但是,对于新的数组,我想从txt文件添加数组项每个项目新的一行。其中一些将是HTML ..虽然不是所有的想法都可以做到吗? –

+0

谢谢马克,得到它的工作,改变了一些东西,工作很好,这是从我习惯了阵列不同,但只要它的工作,其确定我只是不得不删除\ r \ n字符再次感谢 –

相关问题