我想使用php搜索com_agora
的当前网址,如果它发现它显示某些内容以及是否显示其他内容
问题是网址中的com_agora
后面会有很多字符
一个例子就是这个com_agora&task=cat_view&gid=41&Itemid=
那么我怎么能告诉它找到它而不关心什么角色来了?
答案 0 :(得分:5)
$uri = $_SERVER['REQUEST_URI']; // or taken from another source //
if( strpos($uri, 'com_agora') !== false ){
// Your action goes here! //
}
如果您需要更复杂的参数操作,请使用parse_str
。
答案 1 :(得分:5)
我假设你在这里讨论查询字符串(?
之后的部分)
对于防弹方法,请使用parse_str()
拆分查询字符串并查看是否存在名为com_agora
的参数。这样做的好处是它将忽略字符串中任何其他位置的搜索词的出现(例如,在另一个参数值中)。
$query_string = $_SERVER["QUERY_STRING"]; // e.g. com_agora&task=cat_view
$query_string_parsed = array();
parse_str($query_string, $query_string_parsed);
// Search for "com_agora"
$found = array_key_exists("com_agora", $query_string_parsed);
答案 2 :(得分:2)
if(strpos($url, 'com_agora') !== FALSE) { /* do something */ }
答案 3 :(得分:2)
Joomla有一个允许您使用网址JURI
的课程,您可以learn more about JURI
class on Joomla's documentation site。
这是完整功能的代码,可以执行您的操作
<?php
// Sample URL
$url = "http://www.mysite.com/index.php?option=com_agora&task=cat_view&gid=41&Itemid=5";
// Using JFactory::getURI() without parameter will give you URI of current webpage
$uri = JFactory::getURI($url);
// Here is the structure of the object
//
//object(JURI)[136]
// public '_uri' => string 'http://www.mysite.com/index.php?option=com_agora&task=cat_view&gid=41&Itemid=5' (length=78)
// public '_scheme' => string 'http' (length=4)
// public '_host' => string 'www.mysite.com' (length=14)
// public '_port' => null
// public '_user' => null
// public '_pass' => null
// public '_path' => string '/index.php' (length=10)
// public '_query' => string 'option=com_agora&task=cat_view&gid=41&Itemid=5' (length=46)
// public '_fragment' => null
// public '_vars' =>
// array
// 'option' => string 'com_agora' (length=9)
// 'task' => string 'cat_view' (length=8)
// 'gid' => string '41' (length=2)
// 'Itemid' => string '5' (length=1)
// Get and output option parameter from the URI
echo 'Option = ' . $uri->getVar('option');
// output = com_agora
?>
答案 4 :(得分:2)
当你在Joomla时,只需这样做:
$option = JRequest::getVar('option','','GET');
$ option变量将保存URL中的任何值,然后您可以:
if ($option == 'com_agora') {
//Do something
}