URL 验证检测电影标题


URL validation detect movie title

如何从URL检测电影标题。

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

我需要从以下位置转换 utl:

http://www.mysite.com/2405-Dark-Shadows.aspx
到:"暗影"

或"暗影"

我的代码是:

$regexUrl = "/'/[0-9]{2,4}'-[a-zA-Z0-9'-'.]+'.aspx'/?";
echo preg_match($regexUrl, $_SERVER["REQUEST_URI"]);

最后你的模式似乎出了点问题。试试这个(注意最后几个字符):

/'/[0-9]{2,4}'-[a-zA-Z0-9'-'.]+'.aspx/

您还需要添加一个组,以便更轻松地获取标题部分。

/'/[0-9]{2,4}'-([a-zA-Z0-9'-'.]+)'.aspx'/?

最后,这里有一个简化版本,如果开头的数字有一位或多于四位数字,或者标题有奇怪的字符(也许它不是英语电影),它不会中断。

'/'d+-(.+)'.aspx$/
$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);

并从数据库加载标题。因此,即使您的URL损坏,您仍然可以加载正确的页面。