我正在寻找缓冲更多文本的解决方案。我有以下(Set Page Title using PHP)
<?
ob_start ();
?>
<!DOCTYPE>
<head>
<title><!--TITLE--></title>
</head>
<body>
<?
$pageTitle = 'Title of Page'; // Call this in your pages' files to define the page title
?>
</body>
</html>
<?
$pageContents = ob_get_contents (); // Get all the page's HTML into a string
ob_end_clean (); // Wipe the buffer
// Replace <!--TITLE--> with $pageTitle variable contents, and print the HTML
echo str_replace ('<!--TITLE-->', $pageTitle, $pageContents);
?>
它只适用于标题,但我想缓冲4这样的信息:
<?
ob_start ();
?>
<!DOCTYPE>
<head>
<meta property="og:title" content="<!--TITLE-->" />
<meta property="og:url" content="<!--URL-->" />
<meta property="og:image" content="<!--IMG-->" />
<meta property="og:description" content="<!--DESCRIPTION-->" />
</head>
<body>
<?
$pageTitle = 'Title of Page';
$pageUrl = 'http://anything.com';
$pageImg = 'http://anything.com/lol.png';
$pageDesc = 'One sentence is here';
?>
</body>
</html>
<?
$pageContents = ob_get_contents ();
ob_end_clean ();
echo str_replace ('<!--DESCRIPTION-->', $pageDesc, $pageContents);
echo str_replace ('<!--IMG-->', $pageImg, $pageContents);
echo str_replace ('<!--URL-->', $pageUrl, $pageContents);
echo str_replace ('<!--TITLE-->', $pageTitle, $pageContents);
?>
答案 0 :(得分:2)
你正在回应4次页面内容。不要这样做,而是将替换结果再次放入pagecontent变量并在最后回显一次
$pageContents= str_replace ('<!--DESCRIPTION-->', $pageDesc, $pageContents);
$pageContents= str_replace ('<!--IMG-->', $pageImg, $pageContents);
$pageContents= str_replace ('<!--URL-->', $pageUrl, $pageContents);
$pageContents= str_replace ('<!--TITLE-->', $pageTitle, $pageContents);
echo $pageContents;