2011-09-23 85 views
0

是否可以檢查子字符串加上wild字符的字符串?使用「Wild Character」檢查子字符串的字符串

我正在檢查一個子字符串的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

正則表達式 – zzzzBov

回答

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/"))... 

,但我不知道在使用這個功能的。

也是關於名稱的說明。你的函數不返回任何網址。所以,不要在名字中使用「get」。
並且不要混用命名約定。

+0

其他字符串中的其他檢查我省略了,因爲我的問題更多地是關於通配符。感謝您的回答+1 – Denoteone

1

此代碼檢查字符串/search/node/開始:

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

不,你不能。該例子使用strpos()或類似的。

如果你想做更復雜的匹配(字符串等中的通配符),你可以使用正則表達式。

1

您只要搜索的/搜索/節點的位置,如果位置!= 0時,該語句失敗

if (0 === strpos($current_url, "/search/node/")) return false; else return true; 
+0

'0'被鑄造爲'false',並且1個圓括號丟失; -P – zerkms

+0

@zerkms:有三個===:p – genesis

+0

Omg,我沒看見'0 ==='在開始!它是在你的第一個答案修訂?!不能相信我跳過它,而閱讀字符串:-S – zerkms