малость говнокода (+/-)
function customHeaderRegistry($name = null, $value = null, $tag = false)
{
static $data = [];
if(is_null($name) AND is_null($value)){
return $data;
}else{
if($tag){
$data['tags'][$name] = $value;
}else{
$data[$name] = $value;
}
}
}
function createCustomHeader(array $header = [])
{
customHeaderRegistry('boxstart', isset($header['boxstart']) ? $header['boxstart'] : '<newheader>');
customHeaderRegistry('boxend', isset($header['boxend']) ? $header['boxend'] : '</newheader>');
customHeaderRegistry('tags', isset($header['tags']) ? $header['tags'] : []);
ob_start();
}
function setCustomHeader($tag, $value)
{
customHeaderRegistry($tag, $value, true);
}
function replaceCustomHeader()
{
$data = customHeaderRegistry();
$html = ob_get_contents();
ob_clean();
foreach ($data['tags'] as $tag=>$value){
$html = preg_replace('|(<[^>]+'.$tag.'.*?)content="([^"]+)|is', '\1 content="'.$value, $html);
$html = preg_replace('|<'.$tag.'>([^<]+)|is', '<'.$tag.'>'.$value, $html);
}
ob_start();
echo $html;
}createCustomHeader(); // запускаем в самой самой шапке
setCustomHeader('title', 'test script');
setCustomHeader('description', 'test 222');
// в любом месте скрипта вставляем подобные строчки
replaceCustomHeader(); // в самоооом самом конце<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes">
<meta name="HandheldFriendly" content="true">
<meta name="MobileOptimized" content="width">
<meta content="yes" name="apple-mobile-web-app-capable">
<meta name="Generator" content="JohnCMS, http://johncms.com
<meta name="keywords" content="johncms, cms, php, wap, mobile">
<meta name="description" content="test 222">
<link rel="stylesheet" href="http://johncms.com/theme/selemet/style.css">
<link rel="shortcut icon" href="http://johncms.com/favicon.ico">
<link rel="alternate" type="application/rss+xml" title="RSS | Новости ресурса" href="http://johncms.com/rss/rss.php">
<title>test script</title>
</head>