繁体   English   中英

从URL提取脚本名称

[英]extract script name from URL

我在寻找正则表达式帮助,如何仅从url中提取脚本名称:

我有:

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

并希望接收"index234"

使用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
)

使用正则表达式:

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

编辑:

这个正则表达式适用于不同的URL和路径

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM