Php 使用正则表达式在URL中查找标识符并作为字符串返回
我有一个PHP脚本,它可以从数据库中批处理wgets,但需要创建一个生成文件夹的机制,这样我就可以循环所有文件,将每个文件保存在自己的文件夹中 可以使用正则表达式在下面的URL中查找标识符(可以是任意长度,有时带下划线,有时带连字符,有时不带),还是有其他方法?我不知道regex 例如,能否找到标识符并将其作为字符串返回?这样我就可以把它传递给写“wget-O/somedir/”$标识符。"/"; 这将大有帮助Php 使用正则表达式在URL中查找标识符并作为字符串返回,php,regex,string,url,wget,Php,Regex,String,Url,Wget,我有一个PHP脚本,它可以从数据库中批处理wgets,但需要创建一个生成文件夹的机制,这样我就可以循环所有文件,将每个文件保存在自己的文件夹中 可以使用正则表达式在下面的URL中查找标识符(可以是任意长度,有时带下划线,有时带连字符,有时不带),还是有其他方法?我不知道regex 例如,能否找到标识符并将其作为字符串返回?这样我就可以把它传递给写“wget-O/somedir/”$标识符。"/"; 这将大有帮助 非常感谢您的帮助。谢谢 我对PHP一无所知,但我注意到 /.*\/([^/]+)\
非常感谢您的帮助。谢谢 我对PHP一无所知,但我注意到
/.*\/([^/]+)\/[^/]+/.exec(s)
这是给你的
edit:一个非常简短的谷歌建议,PHP的等价物应该是
<?php
$subject = "http://cdn.blah.com/mp4/IDENTIFIER/somefile.mp4";
$pattern = "/.*\/([^/]+)\/[^/]+/";
preg_match($pattern, $subject, $matches, PREG_OFFSET_CAPTURE);
print_r($matches);
?>
您可以使用和的组合来获取标识符:
如果这是你的网站只是备份文件系统备份数据库,使用wget将是低效的谢谢你的建议,但我不知道如何实现这一点。它不是PHP?很好用。非常感谢。
$url = 'http://cdn.blah.com/mp4/IDENTIFIER/somefile.mp4';
$identifier = basename(dirname($url));