我想编写一个函数来返回带有html代码的字符串,以自定义多个页面的标题,描述和关键字。我从我的index.php
文件和两个辅助_head.php
和_functions.php
开始。我该怎么做才能实现这个功能?
<?php include "_functions.php; ?>
<html>
<?php echo make_head("My title", "My description", "My keywords); ?>
<body>
...
</body>
</html>
function make_head(title, description, keywords) {
return file_get_contents("_head.php");
}
<head>
...
<meta name="description" content="$description">
<meta name="keywords" content="$keywords">
<title>$title</title>
...
</head>
答案 0 :(得分:2)
<强> _functions.php:强>
function make_head($title, $description, $keywords) {
$head = include "_head.php";
return $head
}
<强> _head.php 强>
<head>
...
<meta name="description" content="<?php echo $description; ?>" >
<meta name="keywords" content="<?php echo $keywords; ?>" >
<title><?php echo $title; ?></title>
...
</head>
答案 1 :(得分:1)
您可以使用include。
在您的函数make_head
中,您可以执行以下操作:
function make_head(title, description, keywords) {
$html = include "_head.php";
return $html;
}
当您包含某些内容时,会将其加载到您当前的状态。因此,如果您在$title
文件中使用$description
或$keywords
或_head.php
,则它们将位于相同的范围内,并且可以使用它们。
答案 2 :(得分:-1)
此代码存在许多漏洞,包括这样的文件从来都不是一个好主意。我可以看到这段代码只是入门级,可能只是为了练习,所以为了让这个工作你需要做以下的事情:
<?php include "_functions.php; ?>
<html>
<?php echo make_head("My title", "My description", "My keywords); ?>
<body>
然后在make_head函数中,返回HTML代码
function make_head(title, description, keywords) {
return "<head>
...
<meta name='description' content=' . "$description" .'>
<meta name='keywords' content=' . "$keywords" . '>
<title>$title</title>
...
</head>";
}
这种方法让你开放,我当然不会在生产中使用它。