2013-02-18 4 views
-3

У меня есть документ HTML и ссылки, как http://example.com/some?b=20130218082149&a=20130218092249&info=1152&hash=079caaaae2fcd602c6d8dxрегулярное выражение, грейфер ссылка

мне нужно регулярное выражение, чтобы найти его, и если вы можете объяснить выражение для меня, это было бы очень полезно.

+2

[StackOverflow] (http://www.stackoverflow.com) не является 'Hello all' темы производителя, как следует из названия домена, что это все о. Вам нужен кто-то, чтобы сделать это для вас? Сначала вам нужно попробовать что-то, а потом, возможно, кто-то укажет на ваши ошибки. –

ответ

0

Мой удар у него

<?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>"; 
    } 
} 
+0

большое спасибо. –

Смежные вопросы