javascript - 如何使用服务器端 php (Laravel) 加载其他网站,例如 Hypothes.is 或 ProjectHuddle?

标签 javascript php laravel iframe

我想知道如何完成像 https://hypothes.is/ 这样的事情,或https://projecthuddle.io/ 这样用户就可以提供自己的 URL,服务器使用服务器端 PHP 加载外部网站,并在其顶部嵌入一些 iframe 层以添加注释。

当您加载外部 URL 时,它会转到类似 https://via.hypothes.is/https://www.google.ca/?gws_rd=ssl 的 URL ,加载实际站点而不是将其放入 iframe 中,并将 iframe 插入页面以对其进行注释。

我最初的方法是只使用 iframe,但问题是我无法将自己的注释等插入到实际网站中。

我正在使用 Laravel 5.4 和 PHP。任何帮助是极大的赞赏。谢谢。

最佳答案

回答您最初的问题:

$pageContent = file_get_contents($url);

效果很好。

关于更改链接,我将从 xpath 查询开始,并根据您自己的 URL 将 href 调整为绝对。也许是这样的:

$doc = new DOMDocument();
$doc->loadHTML(file_get_contents($url));
$xpath = new DOMXPath($doc);
foreach ($xpath->query("a[starts-with(@href, '/')") as $a){

}

我将让您自行修改和重新打印 DOM。

关于javascript - 如何使用服务器端 php (Laravel) 加载其他网站,例如 Hypothes.is 或 ProjectHuddle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43059360/

相关文章:

php - 只喜欢一次帖子/评论,laravel

javascript - contenteditable 元素的子元素的事件

phpmyadmin 2002 错误

php - 从代码库中删除无用文件

php - 密码重置表列名称覆盖 laravel 5

php - 如何在 Laravel 5.2 中使用 HipsterJazzbo/Landlord 包 - 单数据库 Multi-Tenancy - ?

javascript - 如何使用javascript显示图像

javascript - 通过以编程方式更改文本框值来调用 Javascript onchange 事件

c# - 日期从 .Net 到 Angularjs 的转换

PHP - mysql_insert_id() 和竞争条件?