我需要在PHP中提取一段URL。从网址http://www.flickr.com/photos/28370443@N08/7885410582
我只需要7885410582
部分。
我的代码:
$string2 = 'http://www.flickr.com/photos/28370443@N08/7885410582';
preg_match_all('~s/ (.*?) /~i',$string2,$matches, PREG_PATTERN_ORDER);
echo $matches[1][0] . '<br />';
任何人都可以看一下并为我纠正吗? 提前谢谢。
答案 0 :(得分:1)
你可以使用
$data = explode("/",$url)
$value = $data[sizeof($data)-1]
答案 1 :(得分:0)
试试这个正则表达式:
\d+$
将在字符串结束之前找到所有数字
或:
(?<=/)\d+$
将在字符串结束之前/
符号后找到所有数字
答案 2 :(得分:0)
如果您想要的标识符始终是URL中的最后一个,请不要使用正则表达式而是使用简单的字符串函数。
<?php
$url = 'http://www.flickr.com/photos/28370443@N08/7885410582';
$flickr_id = substr($url, strrpos($url, "/") + 1);
echo $flickr_id; // 7885410582
答案 3 :(得分:0)
试试这个:
preg_match_all('~^.+/(\d+)$~',$string2,$matches);
$string2 = 'http://www.flickr.com/photos/28370443@N08/7885410582';
preg_match('~^.+/(\d+)$~',$string2,$matches);
echo $matches[1]; // 7885410582