仅允许IMDB链接正则表达式解决方案PHP

仅允许IMDB链接正则表达式解决方案PHP,php,regex,hyperlink,Php,Regex,Hyperlink,我希望正则表达式解决方案只允许 链接 否则,请告诉我们错误错误链接 我对正则表达式不太在行 我只是创造了这个petren preg\u match('/http:\/\/www.imdb.com\/title\/(.*)\//is','http://www.imdb.com/title/tt0087469/“,$结果) 这给我展示了正确的结果,但我想我错过了一些东西 谢谢,像这样的东西怎么样:http://(?:www\)?imdb.com/title/tt[^/]+/ 示例: <?php

我希望正则表达式解决方案只允许 链接

否则,请告诉我们错误<代码>错误链接

我对正则表达式不太在行

我只是创造了这个petren

preg\u match('/http:\/\/www.imdb.com\/title\/(.*)\//is','http://www.imdb.com/title/tt0087469/“,$结果)

这给我展示了正确的结果,但我想我错过了一些东西


谢谢,

像这样的东西怎么样:
http://(?:www\)?imdb.com/title/tt[^/]+/

示例:

<?php

if ( preg_match('#^http://(?:www\.)?imdb\.com/title/tt[^/]+/$#', 'http://www.imdb.com/title/tt0448303/') )
  echo 'Matches' . PHP_EOL;
这应该可以:

if (preg_match("#^(http://www.|https://www.)imdb.com/title/tt([a-zA-Z0-9]+)(?:/)(?:^[a-zA-Z0-9]+)?$#s", 'http://www.imdb.com/title/tt0364845/', $matches)) {
  echo 'yay';
} else {
  echo 'nay';
}

你至少应该先试一试。如果你想让别人写你的代码,你可能在错误的地方。@Evert我只是添加了我的pettern让我知道它可以吗?即使我使用
asdfasdfhttp://www.imdb.com/title/tt0087469/asdfasdf
显示正确的URL。。我只需要验证链接..如果我尝试
asd,这对我没有帮助fasdfhttp://www.imdb.com/title/tt0087469/asdfasdfasdfasfd
它总是向我显示正确的url。。我的代码<代码>$result=preg_match('#http://(?:www\)?imdb.com/title/tt[^/]+/#','asdfasdfhttp://www.imdb.com/title/tt0087469/asdfasdfasdfasfd“,$结果);如果($result=''){echo“increct URL”}否则{echo“correct URL”}
我更正了它。我忘了包括
^
#
字符。很抱歉。我想你的意思是“和
$
结束”。你可以使用(http | | https)代替http来处理安全表单的使用。如果我使用
http://www.imdb.com/title/tt0364845/asdfasdf
这是给我看耶