Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/78.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
Php 添加和设置外部文件的样式_Php_Html_Css_Iframe - Fatal编程技术网

Php 添加和设置外部文件的样式

Php 添加和设置外部文件的样式,php,html,css,iframe,Php,Html,Css,Iframe,另一个网站上有一个我不拥有的文件,其URL格式如下: http://example.com/path/with/some/variables 我想在我自己的页面中包含此文件。我可以使用iframe来实现这一点,但我还想更改包含文件中某些内容的CSS。据我所知,我不能用这种方法做这件事 但是,我似乎也无法通过PHP成功添加此内容,例如: <?php include 'http://example.com/path/with/some/variables'; ?> 我不确定还有什

另一个网站上有一个我不拥有的文件,其URL格式如下:

http://example.com/path/with/some/variables
我想在我自己的页面中包含此文件。我可以使用
iframe
来实现这一点,但我还想更改包含文件中某些内容的CSS。据我所知,我不能用这种方法做这件事

但是,我似乎也无法通过PHP成功添加此内容,例如:

<?php include 'http://example.com/path/with/some/variables'; ?>

我不确定还有什么其他方法可以做到这一点,但这肯定是可能的


另外,我知道在这种情况下使用
include
会带来安全隐患。

使用
readfile

<?php readfile('http://example.com/path/with/some/variables'); ?>

您可以使用
文件获取内容

<?php $content = file_get_contents('http://example.com/path/with/some/variables'); ?>


这是文档

是的,安全限制不允许您通过操纵iframe文件的DOM直接在iframe中执行此操作

要在PHP中实现这一点,您可以创建一个PHP脚本来读取URL的内容,并添加一个您创建的外部CSS文件,以覆盖任何您想要的内容。因此:

myreader.php:

$contents = file_get_contents("http://example.com/path/with/some/variables");
$contents = preg_replace("/<head>/", "<head>\n<link rel='stylesheet' type='text/css' href='mystyle.css'>", $contents, 1);

echo $contents;
body {
  color : red !important;
}
最后,将您的浏览器指向myreader.php,或者如果您仍然希望它位于iframe中,则将iframe src指向myreader.php


PS:偷窃是错误的:)

你想在你的页面中转储外部url的内容吗?那是什么文件?一段HTML?只是一个CSS文件?还有别的吗?没错。它包含HTML、CSS和一些JS。基本上,你在页面源代码中看到的就是我想要显示的内容以字符串形式获取所有内容,并将其转储到任意位置[这是differenceIts文件\u get_contents@Javad考虑更新你的答案。@ GoTutiBeNeSnabelel.我做了,我不知道为什么我打字“-”;无论如何,谢谢不要担心,这不是偷窃。这是一个公开可用的资源,通常通过iFrame使用。我只是想对样式做一点编辑。不管怎样,如果我已经在页面上有一个CSS文件,这是要显示的,我可以简单地在那里添加相关的样式,对吗?我只是开玩笑:)我没有我想你可以从包括iframe在内的页面中设置iframe内容的样式。不过,你可以设置iframe的样式(即其边框等)。这不允许您更改包含文件的样式。当然可以。包含的文件将合并到当前输出中,您在本地加载的任何CSS都将应用于该文件。@Barmar如果是跨域的,则无法从包含页面设置iframe内容的样式。没有iframe。这正是他试图用此解决方案替换的内容。