2016-10-09 3 views
0

PHPの検索クエリのパラメータを使用してタイトルタグとメタ記述を動的に置き換えようとしています。彼らは空白を表示し続けますが、タグの元のPHP(最初のセット)の中に$タイトルまたは$ descをエコーし​​た場合は、正常に表示されます。参考のためのheader.phpファイルはありません。タイトルとメタタグをPHPやJavaScriptで動的にポップアップする方法

<?php 
$url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]"; 
list($chuck, $keep) = explode('?', $url); 
$patterns = array(); 
$patterns[0] = 'foo'; 
$patterns[1] = 'bar'; 
$patterns[2] = '123'; 
$replacements = array(); 
$replacements[0] = 'good '; 
$replacements[1] = 'bad '; 
$replacements[2] = 'ugly '; 
$mytitle = "my cool " . $keep . " title tag"; 
$mydesc = "my cool " . $keep . " meta " . $keep . " description"; 
$title = str_replace($patterns, $replacements, $mytitle); 
$desc = str_replace($patterns, $replacements, $mydesc); 

//echo $title . "</br>"; 
//echo $desc . "</br>"; 
?>  
<title><?if (strpos($url, 'foo=') !== false) { echo $title . "</br>"; } else { some other title"; }?></title> 
<meta name="description" content="<?php echo $desc; ?>"> 

また、javascript/phpマッシュアップはこのように機能しますか?

<script> 
    document.title = <?if (strpos($url, 'foo=') !== false) { echo $title . "</br>"; } else { some other title"; }?>; 
</script> 

答えて

0

はあなたのタイトルの変更コードの他には、やや「これが私のために正常に動作するようであるとして、パースエラーを投げる以外

<title><?if (strpos($url, 'foo=') !== false) { echo $title . "</br>"; } else { echo "some other title"; }?></title> 

をエコーを含めるように修正する必要があります。

関連する問題