有人可以帮我替换这个网址吗
http://www.izlesene.com/video/arabic-shkira-belly-dance/200012
至: 200012
$url = 'http://www.izlesene.com/video/arabic-shkira-belly-dance/200012';
$out = preg_replace("/[^0-9]/i","",$url);
或
preg_match("/'/([0-9]+)/i",$url,$m);
$out = $m[1];
使用基本名称
$video_id = basename($url);
var_dump($video_id);
或
尝试爆炸并得到最后一项。
$url = "http://www.izlesene.com/video/arabic-shkira-belly-dance/200012";
$segments = explode("/",$url);
$video_id = end($segments);
var_dump($video_id);
如果事情像在JS中一样工作,你可以这样做:
$url = "http://www.izlesene.com/video/arabic-shkira-belly-dance/200012";
$a = explode("/", $url);
$number = array_pop($a);
也许像这样:
$url = "http://www.izlesene.com/video/arabic-shkira-belly-dance/200012";
$number = array_pop( explode("/", $url) );
或者
你可以在没有数组和正则表达式的情况下做得更快:
$url = "http://www.izlesene.com/video/arabic-shkira-belly-dance/200012";
$url = substr($url, strrpos($url, "/") + 1);
strrpos
搜索字符串中最后一次出现的/
的位置,substr
返回此位置指定的字符串部分。
尝试:
$number = basename($url);
提示:正则表达式并不总是最好的解决方案(即使功能强大但也很复杂)。请参阅basename
文档。
如果你真的需要一个正则表达式,请从最后开始:
$url = "http://www.izlesene.com/video/arabic-shkira-belly-dance/200012";
$number = preg_replace('~.*/([^/]+)$~', '$1', $url);
^