从PHP调用javascript函数-引号问题

从PHP调用javascript函数-引号问题,javascript,php,quotes,Javascript,Php,Quotes,我正在尝试从PHP调用javascript函数。其思想是从文件中创建每个参数作为链接,单击该链接时将其值输入文本框 $lines = file('http://localhost/repositories.txt'); foreach ($lines as $line_num => $line) { echo "<a onclick='javascript:(document.folderForm.folderLocation.value=".htmlspecialchar

我正在尝试从PHP调用javascript函数。其思想是从文件中创建每个参数作为链接,单击该链接时将其值输入文本框

$lines = file('http://localhost/repositories.txt');
foreach ($lines as $line_num => $line) {
    echo  "<a onclick='javascript:(document.folderForm.folderLocation.value=".htmlspecialchars($line) .");' href='#'>".htmlspecialchars($line) . "</a><br />";
}
我认为参数周围应该有引号,但我不能添加它们。我尝试使用“\”,但没有成功。
有什么想法吗?

您需要引用并正确转义分配给输入
属性的JavaScript字符串。您可以使用:

echo "<a onclick='document.folderForm.folderLocation.value=".htmlspecialchars(json_encode($line)) .";' href='#'>".htmlspecialchars($line) . "</a><br />";


注意:从PHP5.4开始,PHP短回显标签在任何地方都可以使用,与配置无关。Switch
您能告诉我们一些关于test2的信息吗?没问题。我刚才还添加了一些更深入的解释。
echo "<a onclick='document.folderForm.folderLocation.value=".htmlspecialchars(json_encode($line)) .";' href='#'>".htmlspecialchars($line) . "</a><br />";
$lines = file('http://localhost/repositories.txt');
foreach ($lines as $line_num => $line) { ?>
    <a onclick='document.folderForm.folderLocation.value=<?= htmlspecialchars(json_encode($line)) ?>;' href='#'><?= htmlspecialchars($line) ?></a><br />
<?php } ?>