Php 将样式表替换为其他网页';自己的样式表

Php 将样式表替换为其他网页';自己的样式表,php,request,stylesheet,external,Php,Request,Stylesheet,External,我正在建立网站www.verbum.xtrweb.com/verbum.php 我使用php中的请求函数从网站www.rae.es获取西班牙语单词的定义。我得到的输出是一个,但不幸的是,我无法更改它输出的元素的样式。例如,如果你查找“hola”一词,你会得到“hola”的意思,但要使用www.rae.es的样式表。我想将我自己的风格(颜色、字体、字体大小等)应用于此输出 我现在有一个叫做$important的东西!但根据我之前测试的方式,它不起作用 我用紧迫感唤起stackoverflow社区

我正在建立网站www.verbum.xtrweb.com/verbum.php

我使用php中的请求函数从网站www.rae.es获取西班牙语单词的定义。我得到的输出是一个,但不幸的是,我无法更改它输出的元素的样式。例如,如果你查找“hola”一词,你会得到“hola”的意思,但要使用www.rae.es的样式表。我想将我自己的风格(颜色、字体、字体大小等)应用于此输出

我现在有一个叫做$important的东西!但根据我之前测试的方式,它不起作用


我用紧迫感唤起stackoverflow社区的神奇帮助。

您想要更改的内容位于iframe中。我建议您直接将样式表注入iframe,但不幸的是,您想要的内容位于不同的域中。由于跨域安全策略,您将无法直接修改iframe的内容

有两种方法可以解决这个问题。您可以使用PHP应用程序来获取所需的内容,然后可以根据需要对其进行过滤和更改。这将替换iframe,而您只需在页面上显示所需的内容。另一种选择是使用一个更简单的PHP应用程序来获取内容,但根本不修改它。然后将iframe指向这个PHP应用程序,它将以与现在相同的方式显示,但它将来自同一个域。然后,您可以使用Javascript注入样式表,并使其看起来像您想要的任何方式

如果使用我提到的第二种方法,可能需要使用“重要!”CSS覆盖,但这不是问题的根本原因。如果您想了解更多有关如何使用重要信息!,我推荐

下面我实现了我描述的第一种方法的一个示例。这将下载请求的页面,然后注入一组自定义样式

<?php
$url = 'http://lema.rae.es/drae/srv/search?id=IwxflJmT9DXX2DMkYs8Z';

$css = <<<EOT
<style type="text/css">
body
{
    background: #eeeeee;
}
.a
{
    color: green;
}
.f
{
    font-size: 200%;
}
.o
{
    font-size: 80%;
}
img
{
    opacity: .5;
}
img:hover
{
    opacity: 1;
}
</style>
EOT;

$data = file_get_contents($url);
$data = str_replace('</head>', $css.'</head>', $data);
echo $data;

?>


这是一个
iframe
!您应该寻找(并在此询问)如何更改iframe的CSS。如果有api,为什么要使用iframe呢。()我应该如何实现api@Dagon,对不起,我想链接到“说明”谢谢@jmack的精彩解释,但是你说的是哪个PHP应用程序?谢谢我说的是一个定制的PHP应用程序,不是特别的。对于我提到的第二个选项,脚本会简单得多。您可以使用稍加修改的PHPAJAX代理来轻松实现这一点。这有意义吗?Juanma,我希望你找到了解决问题的办法。如果我的回答对你有利,请考虑投票并接受它作为最佳答案。谢谢。很抱歉耽搁了,但不幸的是它对我没用。我不知道如何修改PHP的输出,我从链接到“{$word}”的$_请求中得到。请帮助,这是我最后的机会了@胡安马隆索,我给你举了一个基本的例子。