2012-03-29 18 views
0

這有點難以解釋,但我會放棄它。可以說我有這個叫做myFile.html一個HTML文件的標題:如何在包含html/php文件時更改所有資產路徑?

<!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文件後,是否有方法將所有資產路徑更改爲指向assets/*。例如,'css/reset.css'將被更改爲'assets/css/reset.css'等等。請注意,這不僅限於標題中的這些行,還包括圖像元素等內容。

如果這樣很混亂,請告訴我,我會再試一次!

乾杯:)

回答

0

我通常定義爲這樣的事情恆定的,那麼它是通過一個配置文件易於更換。它的意思是通過你的模板文件並添加這個常量變量,但之後變得很容易。

所以,你的文件應該是這樣的:

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

config.php會是這樣的:

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

header.php會是這樣的:

<!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> 
+0

我想到的我希望可能有另一種方式,但我猜不是。謝謝! – chintanparikh 2012-03-29 12:39:35

+0

我想你可以使用緩衝區和正則表達式,或者一個html解析器來完成,但是這些方法會變得非常混亂。 – Nick 2012-03-29 12:46:07

+0

一致認爲,它只是使用一個恆定的更清潔:) – chintanparikh 2012-03-29 13:24:58

相關問題