如何从网址中检测电影片名..
http://www.mysite.com/2430-Moonrise-Kingdom.aspx
http://www.mysite.com/2405-Dark-Shadows.aspx
http://www.mysite.com/2415-Madagascar-3-Europes-Most-Wanted.aspx
我需要转换来自:
的utlhttp://www.mysite.com/2405-Dark-Shadows.aspx
to:“ Dark Shadows ”或“ Dark-Shadows ”
我的代码是:
$regexUrl = "/\/[0-9]{2,4}\-[a-zA-Z0-9\-\.]+\.aspx\/?";
echo preg_match($regexUrl, $_SERVER["REQUEST_URI"]);
答案 0 :(得分:1)
最后你的模式似乎出了问题。试试这个(注意最后几个字符):
/\/[0-9]{2,4}\-[a-zA-Z0-9\-\.]+\.aspx/
您还需要添加一个组,以便更轻松地抓取标题部分。
/\/[0-9]{2,4}\-([a-zA-Z0-9\-\.]+)\.aspx\/?
最后,这是一个简化版本,如果开头的数字有一个或多于四个数字,或者如果标题有奇怪的字符(也许它不是英文电影),它不会破坏。
\/\d+-(.+)\.aspx$/
答案 1 :(得分:0)
$url = 'http://www.mysite.com/2415-Madagascar-3-Europes-Most-Wanted.aspx';
$url = basename($url, '.aspx');
$url = substr($url, 1+strpos($url, '-'));
$url = strtr($url, '-', ' ');
echo $url;
但如果这是你的网站,你应该使用它:
$id = (int)basename($url);
并从DB加载标题。因此,即使您的网址损坏,您仍然可以加载正确的网页。