如何从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损坏,您仍然可以加载正确的页面。