从URL中提取脚本名称

时间:2011-12-08 06:21:41

标签: php regex url

我正在寻找regexp帮助如何从url中提取脚本名称:

我有:

"http://www.example.com/index234.html"

并希望收到"index234"

3 个答案:

答案 0 :(得分:6)

使用parse_url

$url = 'http://www.example.com/index234.html';
$parts = parse_url($url);
preg_match('~([^/]+)\..+$~', $parts['path'], $m);
print_r($m);

<强>输出:

Array
(
    [0] => index234.html
    [1] => index234
)

答案 1 :(得分:3)

使用this正则表达式:

/^http:\/\/(www\.)?example.com\/(?<scriptName>.*)\.html$/

修改

this正则表达式适用于不同的网址和路径

/^http:\/\/(www\.)?(.*\/)*(?<scriptName>.*)\..*$/

答案 2 :(得分:0)

尝试:http://([\w\-\.]+/)+([\w\-\.]+)\.html 脚本名称是第二次捕获($ 2或\ 2)。你可以根据需要调整协议和文件扩展名,注意我真的不知道url名称实际允许哪些字符,所以在这种情况下我只假设字母,数字,连字符和点。