Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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
Javascript 将不在php中工作的代码刮到表单控件_Javascript_Php_Web Scraping - Fatal编程技术网

Javascript 将不在php中工作的代码刮到表单控件

Javascript 将不在php中工作的代码刮到表单控件,javascript,php,web-scraping,Javascript,Php,Web Scraping,我试图将网页内容刮到我的表单控件中,但没有函数,我得到的是输出,但当我创建函数并分配给按钮单击事件以在文本框中显示输出时,它不起作用,请告诉我哪里出错了 <script type="text/javascript"> function Assign() { $html = file_get_contents("http://geoportaal.maaamet.ee/url/xgis-ky.php?ky=79401:006:0812"); preg_match_all('(<l

我试图将网页内容刮到我的表单控件中,但没有函数,我得到的是输出,但当我创建函数并分配给按钮单击事件以在文本框中显示输出时,它不起作用,请告诉我哪里出错了

<script type="text/javascript">
function Assign()
{
$html = file_get_contents("http://geoportaal.maaamet.ee/url/xgis-ky.php?ky=79401:006:0812");
preg_match_all('(<li.*?>.*?</li>)', $html, $matches);
$one=$matches[0][0];
document.getElementById("OutputField").value = $one;
}
</script>
<input id="OutputField" type="text" style="width:200px"/>
<input type="button" value="Assign Value" onclick="Assign()"/>

函数赋值()
{
$html=文件\u获取\u内容(“http://geoportaal.maaamet.ee/url/xgis-ky.php?ky=79401:006:0812");
preg_match_all(“(.*?)”,$html,$matches);
$one=$matches[0][0];
document.getElementById(“OutputField”)。值=$1;
}

首先,必须将html、php和javascript代码分开。 我更改了你的代码,你可以试试。 如果你用正确的方法使用它,它会工作的

<?php
$html = file_get_contents("http://geoportaal.maaamet.ee/url/xgis-ky.php?ky=79401:006:0812");
preg_match_all('(<li.*?>.*?</li>)', $html, $matches);
$one=$matches[0][0];
?>

<script type="text/javascript">
    function Assign() {
        document.getElementById("OutputField").value = "<?=$one?>";
    }
</script>

<input id="OutputField" type="text" style="width:200px"/>
<input type="button" value="Assign Value" onclick="Assign()"/>

函数赋值(){
document.getElementById(“OutputField”).value=“”;
}
我希望这对你有帮助。
你必须不断地学习

这里混合了两种不同的执行范例:

PHP在服务器端执行。这意味着托管代码的服务器将执行PHP。因此,PHP代码通常对客户端不可见。php代码的执行由客户端请求触发,脚本的输出(例如,由printf函数生成)传递给客户端

但是,Javascript是在客户端执行的。这意味着网站访问者的cpu实际上用于执行代码。该代码对客户端是100%可见的。因此,您在HTML文档脚本标记中粘贴的内容将在客户端执行。客户可以看到它。相反,PHP代码并不意味着直接粘贴到脚本标记中


这些都是非常广义的陈述,总是成立的。然而,他们应该给你一个粗略的草图。有一个很好的答案可以帮助你更好的区分在继续之前,您当然应该学习这些基础知识。

哇,一个文字混合体您正在混合JavaScript和PHP-您不能在JavaScript函数中直接运行PHP,如果您想混合使用这两个函数,您必须使用AJAX来运行PHP文件。OMG,使用任何其他方法,同样的代码都可以工作。我很惊讶,为什么它是“-1”,我们在这里学习,我们知道这里有很多天才,但给我们一个学习新事物的机会。欢迎来到stackoverflow,我很惊讶现在还不是-10。正如@JayBlanchard所说,您需要使用Ajax。如果可能的话,我们可以将从另一个文本框单击按钮后的值传递给php,$html=file_get_contents(“);对于这个链接“79401:006:0812”,我们可以在文本框中输入吗?可以,但您需要阅读@smos建议您的信息。因为您必须了解“执行范例”“。我用你的代码向你展示它是如何工作的。但将html、javascript和php代码混合在一个文件中是不好的做法。您的下一个问题可以通过不同的方式解决:您可以使用表单提交或ajax,正如您在前面的问题评论中所看到的。谢谢,我会检查它。