#javascript #php
#javascript #php
Вопрос:
Я пытаюсь динамически заменить свой тег title и meta description, используя параметры из поискового запроса на PHP. Они продолжают отображаться пустыми, но если я повторяю $title или $ desc внутри исходного PHP (первого набора) тегов, все выглядит нормально. Нет header.php файл для справки.
<?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>
Ответ №1:
Вам нужно немного изменить код изменения заголовка, чтобы включить echo «
<title><?if (strpos($url, 'foo=') !== false) { echo $title . "</br>"; } else { echo "some other title"; }?></title>
Кроме выдачи ошибки синтаксического анализа, как это, кажется, работает нормально для меня.