是否可以检查字符串中的子字符串加上一个野生字符?
我正在检查子字符串的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();
答案 0 :(得分:2)
子字符串不需要任何通配符。
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 :(得分:1)
此代码检查字符串是否以/search/node/
开头:
if (strpos($current_url, "/search/node/") === 0){$valid = false;}
答案 2 :(得分:1)
strpos()
或类似的例子。
如果你想进行更复杂的匹配(字符串中间的通配符等),你可以使用正则表达式。
答案 3 :(得分:1)
您只需搜索/ search / node的位置,如果位置!= 0,则此语句失败
if (0 === strpos($current_url, "/search/node/")) return false; else return true;