将URL设置为父文档中的输入变量

时间:2013-04-15 19:17:58

标签: php iframe curl

我有一段代码(CURL),我可以从中提取这样的数据:

  <?php
    $url = "http://www.nu.nl/";

    $ch = curl_init($url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    $curl_scraped_page = curl_exec($ch);
    curl_close($ch);

    echo $curl_scraped_page;
    ?>

我还有一个带输入的HTML文件。我想用动态URL替换物理URL,因此将其设置为变量。变量应该是父文档中输入的值。所以php文件在iframe中回显。这可能吗?我已经谷歌搜索和搜索堆栈,但我只找到了这个答案:LINK我无法改变想要我想要的。 (我是PHP新手)

1 个答案:

答案 0 :(得分:1)

您必须将PHP文件中的echo行更改为:

echo base64_encode($curl_scraped_page);

您对$url的分配:

$url = $_POST['url'];

使用这个jQuery(如果你愿意,你可以使用纯JavaScript,jQuery更适合使用):

$('#getPage')click(function() { //When the button "getButton" is clicked
    //Make a POST request to your PHP file with the value of the textbox as the URL
    $.post('myCURLPage.php', {url: $('#myTextInput').val()}, function(encodedData) {
        //Set the iFrames "src" attribute to the base64 encoded HTML page returned from you r PHP script
        $('#myiFrame').attr('src', 'data:text/html;base64,'+encodedData);
    });
});

(这假设您的页面上有一个按钮,其ID设置为getPage,ID为myiFrame的iFrame和ID为myTextInput的输入框<)< / p>

免责声明:我没有测试过这段代码,但从理论上说它应该可行。