这是我的代码我的.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。因此,如果人们在谷歌搜索,用户可以出来。 就像推特一样,每个人都有一个页面。
我只觉得可以替换模板的php部分中的单词,以便在访问页面时可以拉出用户信息。 请问这可能吗?
答案 0 :(得分:0)
我认为你对模板的处理方法并不好。
您必须将处理与渲染分开。如果您不想使用像smarty 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);