Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用正则表达式在URL中查找标识符并作为字符串返回_Php_Regex_String_Url_Wget - Fatal编程技术网

Php 使用正则表达式在URL中查找标识符并作为字符串返回

Php 使用正则表达式在URL中查找标识符并作为字符串返回,php,regex,string,url,wget,Php,Regex,String,Url,Wget,我有一个PHP脚本,它可以从数据库中批处理wgets,但需要创建一个生成文件夹的机制,这样我就可以循环所有文件,将每个文件保存在自己的文件夹中 可以使用正则表达式在下面的URL中查找标识符(可以是任意长度,有时带下划线,有时带连字符,有时不带),还是有其他方法?我不知道regex 例如,能否找到标识符并将其作为字符串返回?这样我就可以把它传递给写“wget-O/somedir/”$标识符。"/"; 这将大有帮助 非常感谢您的帮助。谢谢 我对PHP一无所知,但我注意到 /.*\/([^/]+)\

我有一个PHP脚本,它可以从数据库中批处理wgets,但需要创建一个生成文件夹的机制,这样我就可以循环所有文件,将每个文件保存在自己的文件夹中

可以使用正则表达式在下面的URL中查找标识符(可以是任意长度,有时带下划线,有时带连字符,有时不带),还是有其他方法?我不知道regex

例如,能否找到标识符并将其作为字符串返回?这样我就可以把它传递给写“wget-O/somedir/”$标识符。"/"; 这将大有帮助


非常感谢您的帮助。谢谢

我对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));