这个问题在这里已经有了答案:
8 年前关闭。
Possible Duplicate:
How can I convert ereg expressions to preg in PHP?
我正在编写一个 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);
}
}
}
}
}
最佳答案
$url = 'http://ecx.images-amazon.com/images/I/5104Xl51zFL._SL175_.jpg';
$path = parse_url($url, PHP_URL_PATH);
$filename = basename($path);
$partOne = strtok($filename, '.');
关于PHP正则表达式提取URL中文件名的第一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13536642/