2013-03-13 42 views
0

這是我的代碼我的.php頁面,這是一個模板來創建其他配置文件頁面。我可以在php標籤中替換佔位符嗎?

<?php 
    $dj = Helper::getUserProfileInfo('dj','{thedjid}'); 
?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>{username} Home page</title> 
</head> 

<body> 
Hello,<br /> 
<img href="<?php echo $dj->getAvatar(); ?>"/><br/> 
this is my new home page. Here is my data:<br /><br /> 
<?php echo 'Dj name: '. $dj->getName();?> 
<br /> 
<?php echo 'Contact for booking: '. $dj->getEmail();?> <br /> 

</body> 
</html> 

當我創建任何新的一頁,我要取代這個 - {} thedjid(這是在頁面的頂部),以一個ID號。 是的我想爲每個用戶創建一個新的PHP頁面,因爲SEO。因此,如果用戶在谷歌搜索,用戶可以出來。 就像twitter一樣,每個人都有一個頁面。

我只是覺得可以在模板的php部分替換一個單詞,這樣用戶信息就可以在頁面訪問時被拉出。 請問這是可能的嗎?

+6

如何關於使用*變量*? – Niko 2013-03-13 18:48:36

+0

什麼是id號碼,從哪裏來?你可以編輯你的問題,以提供更多的清晰度? – 2013-03-13 18:50:35

+1

您是否意味着您要爲每個用戶創建一個新的PHP頁面?如果是的話a)怎麼樣,和b)爲什麼?通常這將是一個單一的PHP頁面與用戶的ID傳遞查詢字符串(例如'/dj.php?djid = 42') – IMSoP 2013-03-13 18:55:23

回答

0

我認爲你對模板的處理方法不好。

您必須將處理與渲染分開。如果你不想使用模板引擎像智者http://www.smarty.net/

你可以有你的模板在一個純文本文件是這樣的:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<title>{username} Home page</title> 
</head> 

<body> 
Hello,<br /> 
<img href="{avatar}"/><br/> 
this is my new home page. Here is my data:<br /><br /> 
Dj name: {djname} 
<br /> 
Contact for booking: {email} <br /> 

</body> 
</html> 

然後你的PHP代碼像

<?php 
$id = //get the value from database, or post or get 
$dj = Helper::getUserProfileInfo('dj',$id); 
$template = file_get_contents('path/to/template'); 
$tags = array('{avatar}','{djname}','{email}'); 
$vals = array($dj->getAvatar(),$dj->getName(),$dj->getEmail()); 

echo str_replace($tags,$vals,$template);