Autor Zpráva
Anonymní
Profil *
Nevíte jak udělat Dynamický title když v index.php je všechno krom obsahu a obsah tam vkládám pomocí include
Pude to?
ah01
Profil
Protože tento problém se tu řeší dost často, rozhodl jsem se napsat definitivní řešení.

Domnívám se, že tento problém vzniká u jednodušších stránek, kde se zřejmě nevyplatí použít šablonový systém, nebo nějaké sofistikovanější řešení (nebo autor zatím nevládne dostatečnými znalostmi). Pro takovéto případy se dá použít následující skript.

<?php
ob_start('titleCallBack');
function titleCallBack($text){
if(!defined('TITLE'))
preg_match('~<h1>(.+)</h1>~iu', $text, $m);
else
$m[1] = TITLE;
if(!empty($m[1]))
$text = preg_replace('~<title>(.*)</title>~i', '<title>' . $m[1] . '</title>', $text, 1);
return $text;
}
?>

Umístěte jej na začátek souboru index.php

Pokud neuděláte žádné další úpravy, bude do titulku dosazen první nadpis h1. Nebo je možné titulek kdekoli v kódu nastavit definováním konstatny TITLE

<?php define('TITLE', 'Lorem ipsum'); ?>


______________________________

PS: Jedná se o rozšíření 2. metody, o které píše Ilook v jednom starším vlákně. Myslím, že toto je nejjednodušší a nejuniverzálnější řešení, ze všech výše jmenovaných.
Anonymní
Profil *
Nějak mi to nefaka a vysledek je že to nic neudělá

tady je začátek index.php:

<?php

ob_start('titleCallBack');

function titleCallBack($text){

if(!defined('TITLE'))

preg_match('~<h1>(.+)</h1>~iu', $text, $m);

else

$m[1] = TITLE;

if(!empty($m[1]))

$text = preg_replace('~<title>(.*)</title>~iu', '<title>' . $m[1] . '</title>', $text, 1);

return $text;

}

?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2">
<meta name="description" content="Svět zvířat - psi, kočky, papoušci, rybičky atd..., vše o domacích zvířatech">
<link rel="stylesheet" href="styl.css" type="text/css">
<title></title>
</head>
<body>
<!-- Logo -->

Tady je podpora.php (tam vkládám to <?php define('TITLE', 'Lorem ipsum'); ?>)
<?php define('TITLE', 'Svět zvířat > Podpořte nás'); ?>
<p align=center><font face=Arial size=2>Byl bych rád kdybyste na svůj web
umístily moji ikonku, pokud mi to dáte vědět na e-mail <b> <a
href="mailto:lukas.pce@seznam.cz"><font size="2">lukas.pce@seznam.cz</font></a></b> tak vám umístím vaši
ikonku na hlavní stránku. <b> <a href="ikonky.htm"><font size="2">Další formáty ikonek</font></a></b>.<br><br>Ukázka:<br><br>
<a href="http://www.kokrspanel.ic.cz/info.htm">
<font size="2">
<img
alt="Kokrspanel.ic.cz - Web o zvířatech a psovi Dastině "
src="images/baner.gif" border=0 width="88" height="31"></font></a><a
href="http://www.svetzvirat.ic.cz/"><font size="2"> </font> </a><br><br>Kód:</font></p>
<div align=center>
<center>
<table id=AutoNumber1 style="BORDER-COLLAPSE: collapse" borderColor=#111111
cellSpacing=0 cellPadding=0 width="98%" border=1>
<tbody>
<tr>
<td borderColor= #808080 width="100%" bgColor= #ffffcc><font face=Arial
size=2>&lt;A HREF="http://www.kokrspanel.ic.cz"&gt;<br>&lt;img border="0"
src="http://svetzvirat.ic.cz/images/baner.gif" alt="svetzvirat.ic.cz - Web
o zvířatech a psovi Dastině
"&gt;<br>&lt;/A&gt;</font></td></tr></tbody></table></center></div>

btw je to prasárna ale budu to předělávat
Aesir
Profil
Anonymní:

Tak si na vypsání začátku html vytvořte funkci, které jako parametr předáte právě titulek a v rozhodovací části, před include souboru zavolejte tuto funkci s příslušným titulkem.
ah01
Profil
V kódu byla chybka. Opraveno...
Anonymní
Profil *
Díkys už mi to faka =) ale tu chybku co jsi opravil jsem tam stejně nenašel ale to je jedno hlavně že to faka..
Toto téma je uzamčeno. Odpověď nelze zaslat.

0