我試過功能:strstr,但它有一個問題。假設,網址是這樣的:刪除URL部分和文件擴展名與strstr
http://www.example.com/index.php
用的strstr,我能夠刪除之前「/」什麼,但我只想:
指數
即文件的實際名稱沒有擴展。
我試過功能:strstr,但它有一個問題。假設,網址是這樣的:刪除URL部分和文件擴展名與strstr
http://www.example.com/index.php
用的strstr,我能夠刪除之前「/」什麼,但我只想:
指數
即文件的實際名稱沒有擴展。
如果它總是以.php結束,你可以這樣做:
basename('http://www.example.com/index.php', '.php')
如果它能夠與其他擴展名結尾,你可以這樣做:
if (preg_match('#([^/]+)\.\w+$#', 'http://www.example.com/index.php', $matches))
$basename = $matches[1];
我會強烈建議使用PHP parse_url()
功能:
$address = 'http://www.example.com/index.php';
$url = parse_url($address);
echo $url['host'];
沒有點重新發明輪子。
如果文件類型可以改變,你是確定沒有其他。在文件名中例如index.2.php那麼你可以使用
$filename = basename('http://www.example.com/index.php');
$filename = substr($filename, 0, strpos($filename, '.'));
+1克萊圖斯爲合適的工作的正確工具,正確的URL解析器。正則表達式黑客將失敗的各種查詢字符串的東西。
然而,它是這裏尋找的不是主人的最後路徑部分。所以:
$url = parse_url($address);
$filename= array_pop(explode('/', $url['path']));
$filestem= explode('.', $filename)[0];
它很簡單,不需要太多代碼。
只是做手工,它會自動readed
只寫你的網址一樣,
http://www.example.com/index
,它會顯示你的文件,因爲名爲.php到底。
@reko_t:它有時可能以.html結尾。 – RKh 2009-11-04 10:04:26
編輯我的答案考慮到這一點。 – 2009-11-04 11:48:54