SyntaxError:在javascript函数

时间:2016-03-29 00:59:04

标签: javascript php

我在这里尝试做的是从javascript函数内部调用我的php函数,它会抛出未终止的字符串文字错误

var letters = "<?php echo GetRandLine('en_lang.txt'); ?>"; 
尽管php函数正确返回。 php函数正在做的是从en_lang.txt.So返回一个单词列表,从我收集到的内容中将<?php ?>作为</script>标记进行处理,或者是其他内容。< / p>

PHP:

    if (!function_exists('GetRandLine'))
    {
        function GetRandLine($name)
        {
            $file = fopen("$name","r");
        $text = array();
        $count = 0;

        while(!feof($file))
        {
            ++$count;
            $text[] = fgets($file);
            //echo fgets($file). "<br />";
        }

        fclose($file);

        $n = rand(0,100);

        $ntext = $text[rand(0,$count)];
        //echo $n." ";
        if($n > 50)
        {
            $ntext = $ntext . " " . $text[rand(0,$count)];
        }
        if($n > 80 && $n < 90)
        {
            $ntext = $ntext . " " . $text[rand(0,$count)];
        }
        if($n > 85 && $n < 88)
        {
            $ntext = $ntext . " " . $text[rand(0,$count)];
        }

        return $ntext;
    }
}

的javascript:

    function clicker() 
    {
        var letters = "<?php echo GetRandLine('en_lang.txt'); ?>";
        document.getElementById('theinput').value = letters;
        document.getElementById("clicker").click();

    }

1 个答案:

答案 0 :(得分:0)

从GetRandLine返回的字符串可能包含麻烦的字符,包括导致您提到的错误的换行符,您应该对其进行编码

var letters = <?php echo json_encode(GetRandLine('en_lang.txt')); ?>;