动态更改使用PHP抓取的内容

时间:2014-02-06 15:58:22

标签: javascript php html5 web

我正在开发一个网站,整理来自苏格兰山区徒步的几个天气/雪地信息网站的信息。我目前有一个页面,它使用iFrame获取并显示区域的雪崩报告地图和一系列链接,这些链接调用javascript函数来更改为不同位置显示的地图。 我现在在php中添加一个抓取方法,从原始网站上的单独页面中提取文本报告,并将其与地图一起添加。我有这个功能正常工作,但我正在努力的是当用户通过点击链接选择位置时如何更改此文本内容。

任何人对如何实现这一点都有任何建议?我最好不要刷新页面(我应该使用像Ajax这样的东西吗?)。这是我目前的2个脚本:

PHP Scraping脚本:

<?php
    $data = file_get_contents('http://www.sais.gov.uk/page_Creag%20Meagaidh.asp');
    $regex = '/Observed Weather Influences........(.+?)\W\Wp\W/';
    $preg_match($regex,$data,$match);
    echo $match[1];
?>

Javascript地图更改:

<script type="text/javascript">
    function changeMap(val) {
        frame=document.getElementById('avalanchemap');
        frame.src="http://www.sais.gov.uk/summary_report.asp?area_id=" + val;
    }
</script>

1 个答案:

答案 0 :(得分:1)

jQuery不是必需的,但会简化你的过程(听起来不像你那么自信):

在HTML中设置容器div。并添加如下脚本:

$('.dropdown-or-whatever').change(function(){
    $.ajax({
        url: 'http://www.domain.com/the_location/_of_your_script.php',
        success: function(result){
            $("#your-container-div").html(result);
        }
    });
});

第一行的change()函数假设您正在使用下拉(选择)元素,这可能不正确。

您也可能(可能)想要根据选择的下拉选项传递您的PHP脚本不同的参数,并根据设置的内容刮取不同的页面。可以在URL字符串的末尾添加参数,如下所示:

?place=scotland

有任何问题,请问。

编辑:感到无聊,基本上是为你做的。 http://pastebin.com/np7GVh3f看看代码,希望你能学到一些东西:)