php - 如何从 html 调用 Php 函数

标签 php jquery ajax html

我通过使用简单的 PHP DOM 库来使用 PHP scraper。我编写了一个抓取我需要的数据的函数。如何从 html 页面调用该函数?我需要在我的 html 页面中显示该数据。我正在使用 AngularJS 框架并使用 View 。

这是我的代码。

function Islamabad_data(){
    // Array Declaration
    var isb_hi_temp = new Array();
    $fhtml1 = file_get_contents('http://www.accuweather.com/en/pk/islamabad/258278/daily-weather-forecast/258278');
    $fhtml1 = str_get_html($fhtml1);
    $day6 = file_get_contents('http://www.accuweather.com/en/pk/islamabad/258278/daily-weather-forecast/258278?day=6');
    $day6 = str_get_html($day6);
    echo "Islamabad Data<br>";
    echo" <br>High temperature <br>";
    foreach($fhtml1->find('#feed-tabs .temp') as $element){
        echo $element->plaintext;
        ?>
            isb_hi_temp.push('<?php echo $element; ?>');
        <?php
    }
    $i=0;
    foreach($day6->find('#feed-tabs .temp')as $element)
    {
        if($i<2)
        {
            echo $element->plaintext;
            ?>
                isb_hi_temp.push('<?php echo $element; ?>');
            <?php
            $i++;                 
        }
    } 
    echo isb_data;
}

最佳答案

我知道这不是答案,但我已经简化了您的代码。看起来您想生成一个可以由 Angular 获取的 JavaScript 数组。第 1 步是正确生成您需要的 JSON。您的代码中有很多错误——您不能像现在这样混合使用 JavaScript 和 PHP。通常在 PHP 中,我们会使用 PHP 生成一个数组对象,然后调用 json_encode 来创建将由客户端访问的 JSON 对象(在本例中,您使用 Angular 作为客户端)。

function Islamabad_data(){
    $fhtml1 = file_get_contents('http://www.accuweather.com/en/pk/islamabad/258278/daily-weather-forecast/258278');
    $fhtml1 = str_get_html($fhtml1);
    $day6 = file_get_contents('http://www.accuweather.com/en/pk/islamabad/258278/daily-weather-forecast/258278?day=6');
    $day6 = str_get_html($day6);
    //echo "Islamabad Data<br>";
    //echo" <br>High temperature <br>";
    $hiTemp = array();
    foreach($fhtml1->find('#feed-tabs .temp') as $element){
        $hiTemp[] = $element;
    }
    $i=0;
    foreach($day6->find('#feed-tabs .temp')as $element) {
        if ($i<2) {
            $hiTemp[] = $element;
        }
        $i++;
    } 

    echo json_encode( $hiTemp );
}

第 2 步。使用 Angular 调用您的 PHP 服务。这是一个可以帮助您的过于简单的示例:

function Hello($scope, $http) {
    $http.get('/some/where/somefile.php').
        success(function(data) {
            $scope.islamabadData = data;
        });
}

此外,您真的应该使用 Accuweather 的 API 而不是进行数据抓取。

http://apidev.accuweather.com/developers/

关于php - 如何从 html 调用 Php 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34469511/

相关文章:

php - Rest API 应该接受 POST 数组还是 JSON 字符串?

php - 有没有办法阻止图像显示

jquery - 有问题的 JQuery .animation()

javascript - ajax获取数组项中的元素

javascript - 尝试通过获取请求发送一个值,获取该值但它不发送 html 页面作为响应

javascript - 如何使用 jQuery 将 span 标签添加到选定的文本并将更改永久保存在本地 html 文件中?

php - 检查 URI 是否存在?

javascript - 如何在博客中实现合理的画廊?

javascript - 点击子菜单不显示

javascript - 如何使用内部 Ajax 调用获取函数的返回值 - JQuery