隐藏元标签,语法错误


hide meta tag, wrong syntax?

我的程序员现在不在,我需要对系统进行更改。

我试着照他以前做的去做,但总是出错。

所以我想做的是当url的状态为/id时隐藏元标签。

他对title标签做了同样的处理,像这样:

<?php if (!StartsWith($_SERVER['REQUEST_URI'], '/id/') echo "<title>$pagetitle</title>"; ?>

结果:当url变成www.site.com/id=15

时,标题被隐藏

下面是元标签的原形:

<?=isset($metatags) ? $metatags:"" ?>

我试着复制一些东西,让它隐藏meta与下面的代码:

<?php if (!StartsWith($_SERVER['REQUEST_URI'], '/id/') isset($metatags) ? $metatags:"" ?>

我做错了什么?谁能好心地告诉我正确的台词?

谢谢,

您可以将现有的"metatags"行与程序员先前根据请求URI隐藏文本所做的工作结合起来,如下所示:

<?= (isset($metatags) && !StartsWith($_SERVER['REQUEST_URI'], '/id/')) ? $metatags : "" ?>

<?php if (isset($metatags) && !StartsWith($_SERVER['REQUEST_URI'], '/id/')) echo $metatags; ?>

意思是一样的;

您仍然需要echo:

<?php if (!StartsWith($_SERVER['REQUEST_URI'], '/id/') echo(isset($metatags) ? $metatags:""); ?>

如果你仔细看,原来的元标签代码以<?=开头,这只是<?php echo的简写。

但是当我写这篇文章的时候,@Jonathan Newmuis发布了一个更优雅的答案。