在包含html/php文件时,如何更改该文件中的所有资产路径


How do I change all the asset paths in a html/php file when including it?

这有点难以解释,但我会试一试。假设我在一个名为myFile.HTML的HTML文件的标题中有这个:

<!doctype html>
<head>
<link rel="stylesheet" href="css/reset.css" />
<link rel="stylesheet" href="css/style.css" />
<script src="js/hovers.js"></script>
<link rel="stylesheet" href="css/highlight.css">
</head>

我现在想把这个文件包括在一个php文件中,比如说index.php。但是,我所有的资产(css、js等)都存储在一个名为assets/的文件夹中。

在包含(或之前?)此html文件之后,是否有方法将所有资产路径更改为指向资产/*。例如,"css/reset.css"将更改为"assets/css/reset.css"等等。请注意,这不仅限于标题中的这些行,还包括图像元素等。

如果这让人困惑,请告诉我,我会再解释一遍!

干杯:)

我通常为这样的事情定义一个常量,然后它可以通过配置文件轻松更改。这确实意味着要遍历模板文件并在中添加这个常量变量,但在那之后,更改就变得非常容易了。

所以你的文件应该是这样的:

<?php
require_once('config.php');
include('header.php');

config.php应该是这样的:

<?php
define('ASSETS_ROOT','/assets/');

CCD_ 2会是这样的:

<!doctype html>
<head>
<link rel="stylesheet" href="<?php echo ASSETS_ROOT; ?>css/reset.css" />
<link rel="stylesheet" href="<?php echo ASSETS_ROOT; ?>css/style.css" />
<script src="<?php echo ASSETS_ROOT; ?>js/hovers.js"></script>
<link rel="stylesheet" href="<?php echo ASSETS_ROOT; ?>css/highlight.css">
</head>