0

这是我的 .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 号。是的,由于 SEO,我正在尝试为每个用户创建一个新的 php 页面。这样,如果人们在谷歌上搜索,用户就可以出来。就像推特一样,每个人都有一个页面。

我只是觉得可以在模板的php部分替换一个单词,这样每次访问页面时都可以拉出用户信息。请问这可能吗?

4

1 回答 1

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);
于 2013-03-13T19:01:59.113 回答