Мой удар у него
<?php
$pattern = "#^https?://([a-z0-9-]+\.)*blah\.com(/.*)?$#";
$tests = array(
'http://blah.com/so/this/is/good'
, 'http://blah.com/so/this/is/good/index.html'
, 'http://www.blah.com/so/this/is/good/mice.html#anchortag'
, 'http://anysubdomain.blah.com/so/this/is/good/wow.php'
, 'http://anysubdomain.blah.com/so/this/is/good/wow.php?search=doozy'
, 'http://any.sub-domain.blah.com/so/this/is/good/wow.php?search=doozy' // I added this case
, 'http://999.sub-domain.blah.com/so/this/is/good/wow.php?search=doozy' // I added this case
, 'http://obviousexample.com'
, 'http://bbc.co.uk/blah.com/whatever/you/get/the/idea'
, 'http://blah.com.example'
, 'not/even/a/blah.com/url'
);
foreach ($tests as $test)
{
if (preg_match($pattern, $test))
{
echo $test, " <strong>matched!</strong><br>";
} else {
echo $test, " <strong>did not match.</strong><br>";
}
}
// Here's another way
echo '<hr>';
foreach ($tests as $test)
{
if ($filtered = filter_var($test, FILTER_VALIDATE_URL))
{
$host = parse_url($filtered, PHP_URL_HOST);
if ($host && preg_match("/blah\.com$/", $host))
{
echo $filtered, " <strong>matched!</strong><br>";
} else {
echo $filtered, " <strong>did not match.</strong><br>";
}
} else {
echo $test, " <strong>did not match.</strong><br>";
}
}
[StackOverflow] (http://www.stackoverflow.com) не является 'Hello all' темы производителя, как следует из названия домена, что это все о. Вам нужен кто-то, чтобы сделать это для вас? Сначала вам нужно попробовать что-то, а потом, возможно, кто-то укажет на ваши ошибки. –