Проверить строку для подстроки с "Wild Character" - PullRequest
0 голосов
/ 23 сентября 2011

Можно ли проверить строку на наличие подстроки плюс дикий символ?

Я проверяю URL для подстроки и знаю, что есть функция подстроки, но мне интересно, если вы можете использовать символ *? Ниже моя функция пока.

function press_getUrl(){

$valid = true;
$current_url = $_SERVER['REQUEST_URI'];
//This is where I am checking for a substring plus whatever is after.
if ($current_url == "/search/node/*"){$valid = false;}

return $valid;

}

$pressValid = press_getUrl();

Ответы [ 4 ]

2 голосов
/ 23 сентября 2011

Вам не нужны дикие символы для подстроки.

function press_getUrl(){
  return (strpos($_SERVER['REQUEST_URI'], "/search/node/") === 0);
}

Однако я не вижу никакой пользы для такой функции. что ты пытаешься получить?

Это имело бы смысл для меня, если бы было хотя бы

function press_check_url($check){
  return (strpos($_SERVER['REQUEST_URI'], $check) === 0);
}

, а затем называется

if (press_check_url("/search/node/"))...

но я не уверен в использовании этой функции.

также примечание на имя. ваша функция не возвращает URL. поэтому не используйте в своем имени слово «get».
и не смешивайте соглашения об именах.

1 голос
/ 23 сентября 2011

Нет, вы не можете.Используйте strpos() или аналогичный для этого примера.

Если вы хотите выполнить более сложное сопоставление (подстановочные знаки в середине строк и т. Д.), Вы можете использовать регулярные выражения.

1 голос
/ 23 сентября 2011

Вы просто ищете позицию / search / node, если position! = 0, это утверждение не выполняется

if (0 === strpos($current_url, "/search/node/")) return false; else return true;
1 голос
/ 23 сентября 2011

Этот код проверяет, начинается ли строка с /search/node/:

if (strpos($current_url, "/search/node/") === 0){$valid = false;}
...