基于URL参数使用PHP更改Web文本

时间:2015-06-04 01:54:11

标签: php html5

我希望根据通过网址传递的参数在网页中更改文章a / an。所以,例如,我有mywebpage.com/?page&qry=dog作为URL,所以我希望任何一篇文章都是“狗”(vs“an”aardvark就是qry)。我正在尝试使用下面的代码,但是每次尝试加载页面时都会出现解析错误。

<?php in_array(substr($_GET['qry'],0,1), array('a','e','i','o','u')) ? 'an' 'a'; ?>

如果还尝试了IF / ELSE语句,则会导致相同的结果。

<?php if(in_array(substr($_GET['qry'],0,1), array('a','e','i','o','u'))):'an':'a'; ?>

我确定我遗漏了一些简单的内容,很可能与我尝试在标准HTML文本中插入此代码段有关;谁能发现我的错误?

这是我回来的错误:

  

解析错误:第117行的C:\ Program Files(x86)\ Apache Software Foundation \ Apache2.2 \ htdocs \ testsite \ html \ page.html.php中的解析错误

谢谢!

2 个答案:

答案 0 :(得分:6)

<?php in_array(substr($_GET['qry'],0,1), array('a','e','i','o','u')) ? 'an' : 'a'; ?>

删除if()。三元运算符不会使用if(),这就是它们的用途,可以一次性有条不紊地检查所有内容。

参考:

脚注:(OP)

  

“完美!此外,对于任何试图在将来使用此功能的人,我都忘记回应声明(这很容易补救...... <?php echo ...如果您将上述内容添加为回答我一定会把它标记出来。非常感谢你的帮助!“

答案 1 :(得分:0)

三元运算符语法为:

($conditions) ? "if condition is true" : "if condition is false";

在第一个示例中,您在可能的值之间缺少:。在第二种情况下,你有一个额外的:条件。以下是此运算符的手册和说明:http://php.net/manual/en/language.operators.comparison.php(搜索三元运算符)