2012-01-28 81 views
1

我認爲這將是非常簡單的,但我找不到一個簡單的解決方案,我真的很喜歡PHP,但只知道基礎知識。PHP字符串comapre與通配符

我一個簡單的事情後,我,這樣我可以找到:

http://www.myurl.com/* 

所以只是我的網址,然後通配符。因此,這將返回:

http://www.myurl.com/page1.php 
http://www.myurl.com/page2.php 
http://www.myurl.com/page3.php 

但不

http://www.stackoverflow.com 

正則表達式是要走的路還是矯枉過正?

TIA

回答

2

聽起來像一個startsWith功能將工作做好。

<?php 
function startsWith($haystack, $needle, $caseInsensitive = false) { 
    // if doing case-insensitive 
    if ($caseInsensitive){ 
     return (strcasecmp(substr($haystack, 0, strlen($needle)), $needle) === 0); 
    } 
    return (strcmp(substr($haystack, 0, strlen($needle)), $needle) === 0); 
} 

你可以用它喜歡:

startsWith('http://www.myurl.com/page1.php', 'http://www.myurl.com/', true); 
+0

你也可以使用['parse_url'](http://ca3.php.net/manual/en/function.parse-url.php )但我有一種感覺,它會比正則表達式慢或慢。 – MitMaro 2012-01-28 18:26:28

+0

感謝你們,可愛的代碼。看起來像這樣,PHP是一種可愛的語言。 – 2012-01-28 20:52:04