PHP正则表达式在URL中提取文件名的第一部分

Max*_*tes 2 php regex filenames extract

可能重复:
如何在PHP中将ereg表达式转换为preg?

我正在研究PHP脚本.

我有一个表格的网址:

http://ecx.images-amazon.com/images/I/5104Xl51zFL._SL175_.jpg

我只是想抓住文件名的第一部分5104Xl51zFL.

我对regexp很新,但到目前为止,我有:

.*images\/I\/(.+?)(\.[^.]*|$)
Run Code Online (Sandbox Code Playgroud)

根据regextester.com应该可以工作但不在我的PHP中.

如果它不是最佳解决方案,则不必是正则表达式.

如果这是相关的,那么我的PHP(仍然是调试):

function linkExtractor($html)
{
    if(preg_match_all('/<img ([^>]* )?src=[\"\']([^\"\']*\._SL175_\.jpe?g)[\"\']/Ui', $html, $matches, PREG_SET_ORDER)){
        foreach ($matches as $match) {
            $url = $match[2];
            echo "\n\n" .$url . "\nfile name: ";
            if(preg_match_all('.*images\/I\/(.+?)(\.[^.]*|$)', $url, $matched, PREG_SET_ORDER)) {
                foreach($matched as $name) {
                    print_r($matched);
                }
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

Ser*_*min 7

$url = 'http://ecx.images-amazon.com/images/I/5104Xl51zFL._SL175_.jpg';
$path = parse_url($url, PHP_URL_PATH);
$filename = basename($path);
$partOne = strtok($filename, '.');
Run Code Online (Sandbox Code Playgroud)