PHP-как изменить заголовок страницы после включения заголовка.РНР?
страница.на PHP:
<?php
include("header.php");
$title = "TITLE";
?>
заголовок.на PHP:
<title><?php echo $title; ?></title>
Я хочу, чтобы мой заголовок был установлен после включения файла заголовка. Возможно ли это сделать? Я видел некоторые подобные вещи на PHP-fusion телевизорах:http://docs.php-fusion.it/temi:output_handling
9 ответов
расширение на Dainis Abols ответ, и ваш вопрос по обработке вывода,
рассмотрим следующее:
ваш заголовок.php имеет тег заголовка <title>%TITLE%</title>
;
"%"важны, так как вряд ли кто-либо набирает %TITLE%, поэтому u может использовать это для str_replace() позже.
затем, вы можете использовать выходной буфер вот так
<?php
ob_start();
include("header.php");
$buffer=ob_get_contents();
ob_end_clean();
$buffer=str_replace("%TITLE%","NEW TITLE",$buffer);
echo $buffer;
?>
и это должно сделать это.
редактировать
- название сейчас
<title>Backup Title</title>
- код:
<?php
ob_start();
include("header.php");
$buffer=ob_get_contents();
ob_end_clean();
$title = "page title";
$buffer = preg_replace('/(<title>)(.*?)(<\/title>)/i', '' . $title . '', $buffer);
echo $buffer;
?>
что вы можете сделать, так это сохранить вывод в переменной, например:
.в PHP
<?php
$output = '<html><title>%TITLE%</title><body>';
?>
PS: вам нужно удалить все echos / печатает etc так, что весь возможный выход будет сохранен в $output
переменной.
это можно легко сделать, определив $output = '';
в начале файла, а потом найти/заменить echo
to $output .=
.
а затем заменить %TITLE%
что вы нужно:
<?php
include("header.php");
$title = "TITLE";
$output = str_replace('%TITLE%', $title, $output);
echo $output;
?>
другой способ-использовать javascript
в вашем коде вместо:
<title><?php echo $title; ?></title>
положите это туда:
<script type="text/javascript">
document.title = "<?=$title;?>"
</script>
или jQuery, если вы предпочитаете:
<script type="text/javascript">
$(document).ready(function() {
$(this).attr("title", "<?=$title;?>");
});
</script>
немного расширяясь на we.ответ Мамата, вы могли бы использовать человек вместо простой замены и не требуют %title% в целом. Что-то вроде этого:--6-->
<?php
ob_start();
include("header.php");
$buffer=ob_get_contents();
ob_end_clean();
$title = "page title";
$buffer = preg_replace('/(<title>)(.*?)(<\/title>)/i', '' . $title . '', $buffer);
echo $buffer;
?>
1. Просто добавьте переменную $title перед require function
<?php
$title = "Your title goes here";
require("header.php");
?>
2. Добавьте следующий код в заголовок.в PHP
<title><?php echo $title; ?></title>
вы можете установить с помощью JavaScript
<script language="javascript">
document.title = "The new title goes here.";
</script>
добавить этот код на верхней странице
<?php
$title="This is the new page title";
?>
добавьте этот код в файл заголовка шаблона (include)
<title><?php echo $title; ?></title>
Это очень легко. Поместите этот код в заголовок.в PHP
<?
$sitename = 'Your Site Name'
$pagetitle;
if(isset($pagetitle)){
echo "<title>$pagetitle." | ". $sitename</title>";
}
else {
echo "<title>$sitename</title>";
}
?>
затем на странице ставим туда:
<?
$pagetitle = 'Sign up'
include "header.php";
?>
Итак, если вы находитесь в индексе.php, название-это имя вашего сайта. И, например, если вы находитесь на странице регистрации, заголовок-Sign up / Your Site Name
каждый простой, просто используя функцию, я создал ее .
<?
function change_meta_tags($title,$description,$keywords){
// This function made by Jamil Hammash
$output = ob_get_contents();
if ( ob_get_length() > 0) { ob_end_clean(); }
$patterns = array("/<title>(.*?)<\/title>/","<meta name='description' content='(.*)'>","<meta name='keywords' content='(.*)'>");
$replacements = array("<title>$title</title>","meta name='description' content='$description'","meta name='keywords' content='$keywords'");
$output = preg_replace($patterns, $replacements,$output);
echo $output;
}
?>
прежде всего, вы должны создать функцию.php-файл и поместите эту функцию внутрь, затем сделайте require под метатегами в заголовке.РНР. Для использования данной функции change_meta_tags ("новый заголовок","новое описание", новые ключевые слова); . Не используйте эту функцию в заголовке.на PHP !! только с другими страницами .