我正在寻找regexp帮助如何从url中提取脚本名称:
我有:
"http://www.example.com/index234.html"
并希望收到"index234"
?
答案 0 :(得分:6)
$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名称实际允许哪些字符,所以在这种情况下我只假设字母,数字,连字符和点。