我正在编写一个 PHP 脚本。
我有一个形式的 URL:
http://ecx.images-amazon.com/images/I/5104Xl51zFL._SL175_.jpg
我只是想抓住文件名的第一部分5104Xl51zFL
。
我对正则表达式很陌生,但到目前为止我有:
.*images\/I\/(.+?)(\.[^.]*|$)
根据 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);
}
}
}
}
}