我需要一个正则表达式来查找给定的URL是否在我的网站下。
例如:
http://www.my_domain.com/internal_page should give true.
www.my_domain.com/internal_page should give false.
http://www.my_domain.com should give false. ( should have a "/" after .com ).
http://www.my_domain.com:dfdf should give false.
- 谢谢
答案 0 :(得分:1)
以下是您想要的模式,
$pattern = "#^https?://www.my_domain\.com(/.*)?$#";
$test = 'http://www.google.com';
if ( preg_match( $pattern, $test ) )
{
echo $test, " <strong>matched!</strong><br>";
} else {
echo $test, " <strong>did not match.</strong><br>";
}
答案 1 :(得分:1)
使用此
http:\/\/www\.my_domain\.com\/.*
你应该在发布之前做一些努力。
http:\/\/
- 表示http://
www\.my_domain\.com
等同于www.mydomain.com
\/.*
表示/和0或表达式结尾的任何字符。答案 2 :(得分:0)
这个怎么样?
http:\/\/www\.my_domain\.com\/(.+)
它通过了你给的四个测试
答案 3 :(得分:0)
你可以这样做
$url = "http://www.my_domain.com/internal_page";
$host = "www.my_domain.com";
if(strpos($url, "http://".$host."/") === 0){
// we have a winner
} else {
// no good
}