有人可以帮我替换这个网址吗
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];
尝试:
$number = basename($url);
提示:正则表达式并不总是最好的解决方案(即使非常强大但也很复杂)。请参阅basename
文档。
如果您真的需要正则表达式,请从最后开始:
$url = "http://www.izlesene.com/video/arabic-shkira-belly-dance/200012";
$number = preg_replace('~.*/([^/]+)$~', '$1', $url);
^
如果事情像在 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
返回由该位置指定的字符串部分。