我想根据php条件(或其他)在页面中导入css样式表,这个条件基于域URL。
例如,如果加载的页面是“mydomain.com/about-us”,则导入“css / about-us.css”文件。
我已尝试使用此代码,但它不起作用。
<?php
$url = $_SERVER['REQUEST_URI'];
if (strstr($url, "mydomain.com/about-us/")) {
include '/css/about-us.css';
}
?>
如何有条理地导入或使用<style>
标记?
解决方案更正:
正确的解决方案是仅使用页面名称,因此如果您的页面是mydomain.com/about-us /
仅使用“/ about-us /”。
现在还有其他问题,发布的代码可以导入特定页面的css,但是我注意到如果域名是mydomain.com/about-us/team.html页面中的示例team.html也加载了css “约 - 我们”如何仅在页面mydomain / about-us / ??中加载css for about-us
答案 0 :(得分:3)
如何阅读here,strstr
将返回字符串或FALSE。您可以这样更改:
<!DOCTYPE html>
<head>
<?php
if (strstr($_SERVER['REQUEST_URI'], "mydomain.com/about-us/")!=false) {
echo '<link rel="stylesheet" type="text/css" href="/css/about-us.css">';
} ?>
</head>
...
</body>
</html>
或者:
<!DOCTYPE html>
<head>
<style type="text/css">
<?php
if (strstr($_SERVER['REQUEST_URI'], "mydomain.com/about-us/")!=false) {
echo file_get_contents('/css/about-us.css');
} ?>
</style>
</head>
...
</body>
</html>
在第一个示例中,CSS通过<link>
标记包含在内,在第二个示例中,PHP脚本将CSS文件加载到script
- 标记中。你不能使用include
因为它会加载另一个php文件并执行它所包含的位置。您应该使用我的第一个示例,因为它更加服务器友好,因为不需要读取CSS文件。您的页面会更快。
答案 1 :(得分:0)
您可以使用PHP将样式表添加到页面中,方法是将其包含在html文档的<head>
中:
<?php
echo '<link rel="stylesheet" type="text/css" href="' . $file . '">';
?>
其中$file
是css文件的名称。您需要提供更多信息,说明您为了获得更好的答案而尝试做些什么。
变量$_SERVER[REQUEST_URI]
仅提供请求的页面,而不是整个域。从PHP手册,
&#39; REQUEST_URI&#39; 为访问此页面而给出的URI;例如,&#39; /index.html'。
因此代码应如下所示:
<?php
$requested_page = $_SERVER['REQUEST_URI'];
if ($requested_page === "/about-us" || $requested_page === "/about-us/") {
echo '<link rel="stylesheet" type="text/css" href="/css/about-us.css">';
}
?>
这将测试所请求的页面是否是&#34; / about-us&#34; (客户端正在请求&#34; about-us&#34;页面),如果是,则会回显样式表的链接。
答案 2 :(得分:0)
使用它:
<?php
$url = $_SERVER['REQUEST_URI'];
if (strstr($url, "mydomain.com/about-us/"))
{
// output an HTML css link in the page
echo '<link rel="stylesheet" type="text/css" href="/css/about-us.css" />';
}
else
{
// output an HTML css link in the page
echo '<link rel="stylesheet" type="text/css" href="/css/another.css" />';
}
?>
您也可以直接导入css内容,但可能会有一些媒体/图片链接中断:
<?php
$url = $_SERVER['REQUEST_URI'];
if (strstr($url, "mydomain.com/about-us/"))
{
// output css directly in the page
echo '<style type="text/css">' .file_get_contents('./css/about-us.css').'</style>';
}
else
{
// output css directly in the page
echo '<style type="text/css">' .file_get_contents('./css/another.css').'</style>';
}
?>