我有一个选项让用户写出他们不想看到的页面。用OR替换逗号(PHP)
简化,是一个文本输入,其中虽然他们小费,他们会写网页的名称,例如“接触”,“生物”等
“接触,生物”我要创建一个条件来隐藏这些页面,所以内容会显示这样的代码:
if (('contact') || ('bio')) {
hide content
}
只键入一个页面会很容易,但有更多的页面,我不知道如何更换逗号到或有条件的。我该怎么做?
我有一个选项让用户写出他们不想看到的页面。用OR替换逗号(PHP)
简化,是一个文本输入,其中虽然他们小费,他们会写网页的名称,例如“接触”,“生物”等
“接触,生物”我要创建一个条件来隐藏这些页面,所以内容会显示这样的代码:
if (('contact') || ('bio')) {
hide content
}
只键入一个页面会很容易,但有更多的页面,我不知道如何更换逗号到或有条件的。我该怎么做?
你应该先采取用户输入一个变量 比方说,你在$string
$string = "contact,bio,home";
$token = strtok($string, ",");
$i=0; // To know how manny keywords are there.
while ($token != false)
{
echo "$token<br>";
$user_ip[i++] = strtok(",");
}
得到它,那么你需要分析所有的页面通过命名,并将其存储在阵列。 可以说你将其存储在$user_ip
然后,你需要像
if (($user_ip[0] === "contact") || ($user_ip[0] === "bio") {
}
比较及以上,如果检查$user_ip.
答案越来越接近我想要的。问题是我不知道他们想排除哪些页面。我是PHP新手,所以如果你能解释如何解析页面名称,那就太好了。 –
@ audaz802根据您的需要更新我的答案。 –
第二部分令我困惑。由于我不知道他们输入了哪些数据以及有多少,如何比较? –
尝试的所有成员使用下面的代码:
$skip_pages = explode(",","contact, bio");
$current_page = "contact";
if(in_array($current_page,$skip_pages)){
//redirect page to ....
}
//continue with page
是否有他们需要输入的特定原因?为什么不给他们复选框什么隐藏? –
你的过程令人困惑和脆弱 –
顺便说一句,你的'if'语句条件永远是真的。你可能想用'[explode()'](http://uk1.php.net/manual/en/function.explode.php)做一些事情,然后检查你正在寻找什么结果数组。 –