Php 从URL的文件部分提取数字

Php 从URL的文件部分提取数字,php,regex,xml,url,numbers,Php,Regex,Xml,Url,Numbers,我有一些这样的网站地图: http://subdomain1.myweb.com/6.xml http://subdomain2.myweb.com/t2.xml http://myweb.com/t2.xml 那么,如何提取数字6、2和2呢?多谢各位 试试这个 $str = basename("http://myweb.com/t2.xml", ""); preg_match_all('!\d+!', $str, $matches); print_r($matches[0][0]); 试试

我有一些这样的网站地图:

http://subdomain1.myweb.com/6.xml
http://subdomain2.myweb.com/t2.xml
http://myweb.com/t2.xml

那么,如何提取数字6、2和2呢?多谢各位

试试这个

$str = basename("http://myweb.com/t2.xml", "");
preg_match_all('!\d+!', $str, $matches);
print_r($matches[0][0]);
试试这个:

preg_match_all('/.com\/([a-z A-Z])?(.*?).xml/is',$sourcestring,$matches);
数组$matches[2]返回您的输出。
我希望这对您有所帮助。

首先使用URL解析器。使用URL解析器和正则表达式。
\d+
\d+(?=\.xml)
没有足够的数据来给出一个好的答案-如果文件名为
abc123xrt34.xml
,您想要所有的数字、一些数字、最后一组数字吗?什么?你好,你的代码很有效。然而,我编辑了我的问题。它有编号为的子域。那么,如何修复它呢?对不起,我弄错了。谢谢请检查我的新答案。我成功了!非常感谢你!它起作用了,但在打印中显示了答案($matches[0]);其中$matches[0]返回数组。您好,若url不包含子域,它将不起作用。你能修复两种情况(子域和主域)吗?你好,这很好,但当我使用echo$matches[2]时;它什么也没表现出来。另外,如果我的域名是.info,.net,。。。。这是行不通的。如何修复它?谢谢使用print_r($matches[2])代替echo$matches[2]。这肯定会奏效。