我想在這裏做的是從一個javascript函數中調用我的PHP函數,它拋出從語法錯誤:未結束的字符串調用PHP函數中的JavaScript功能
var letters = "<?php echo GetRandLine('en_lang.txt'); ?>";
allthough的未終結字符串文字錯誤PHP函數返回正確。 php函數正在做的是返回一個單詞列表以從en_lang.txt搜索。從我收集的內容中可以看出它正在處理<?php ?>
作爲</script>
標記或者是其他內容。
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();
}
試圖逃避雙引號。 'addslashes(GetRandLine('en_lang.txt'))' – roullie
請注意,正如你所說,不可能從JavaScript函數內調用PHP函數。到JavaScript發佈時,PHP早已執行,字符串的內容僅僅是函數的結果。對於JavaScript,它看起來像是硬編碼的。 –
@Mr李斯特謝謝我不習慣混合不同的語言。我習慣於C++,並在需要時從其他函數內部調用函數。我仍然試圖弄清楚網頁設計的做法和不做的事情,以及一切如何協同工作。所以在這種情況下,我想我可以退出懶惰,只是一個JavaScript函數我有麻煩閱讀和使用JavaScript寫文件,所以我想我可以創建一個PHP函數,並稱它是這樣的! – insomniac