Ваш вопрос мне немного неясен, но я постараюсь помочь. Вы задаетесь вопросом, как определить, существует ли определенный сегмент или он содержит определенное значение?
Как вы, вероятно, знаете, вы можете использовать класс URI для доступа к определенным сегментам URI. Используя yoursite.com/blog/article/123
в качестве примера, blog
является 1-м сегментом, article
является 2-м сегментом и 123
является 3-м сегментом. Вы получаете доступ к каждому, используя $this->uri->segment(n)
Затем вы можете сконструировать операторы, подобные этому:
// if segment 2 exists ("articles" in the above example), do stuff
if ($this->uri->segment(2)) {
// do stuff
}
// if segment 3 ("123" in the above example) is equal to some value, do stuff
if ($this->uri->segment(3) == $myValue) {
// do stuff
}
Надеюсь, это поможет! Дайте мне знать, если нет, и я могу уточнить или предоставить дополнительную информацию.
Edit:
Если вам нужно определить, появляется ли конкретная строка в каком-либо сегменте URI, вы можете сделать что-то вроде этого:
// get the entire URI (using our example above, this is "/blog/article/123")
$myURI = $this->uri->uri_string()
// the string we want to check the URI for
$myString = "article";
// use strpos() to search the entire URI for $myString
// also, notice we're using the "!==" operator here; see note below
if (strpos($myURI, $myString) !== FALSE) {
// "article" exists in the URI
} else {
// "article" does not exist in the URI
}
Примечание относительно strpos () (из документации PHP):
Эта функция может возвращать логическое значение
ЛОЖЬ, но может также вернуть
небулево значение, которое оценивается как
ЛОЖЬ, например 0 или "". Пожалуйста, прочитайте
раздел о логических значениях для более
Информация. Используйте оператор === для
тестирование возвращаемого значения этого
функция.
Я надеюсь, что мое редактирование поможет. Дайте мне знать, если я могу уточнить.