2013-11-27 2 views
-1

Как сопрягать следующую структуру канала, которая закончилась с номером портакак соответствуют ссылки закончился с номером порта

ссылки как

https://www.some_thing.com:13306 
http://www.some_thing.com:13306 
www.some_thing.com:13306 
some_thing.com:13306 

Пример

$link1 = "http://www.some_thing.com:13306"; // will be true 
$link2 = "http://www.some_thing.com/lol"; // will be false 

так может кто-нибудь помогает мне в регулярном выражении для сопоставления такого типа ссылок, поскольку он основан на :, а затем цифры могут быть ключом для сопоставления такого типа.

~ Спасибо

ответ

2

Конечно - это должно быть так же просто, как /:\d+$/:

if (preg_match('/:\d+$/', $url)) { 
    echo 'It has a port'; 
} else { 
    echo 'It does not have a port'; 
} 

Вскрытие:

  • : - буквальный : характер
  • \d+ - цифра соответствие 1 или более раз
  • $ - строка ДОЛЖНА завершить здесь. Там не может быть ничего между последним матчем и в конце строки
1

Это тоже работает;)

<?php 
$link1 = "http://www.some_thing.com:13306"; 
if(is_numeric(array_pop(explode(':',$link1)))) 
{ 
echo "Valid URL"; 
} 
else 
{ 
echo "Illegal URL"; 
} 
Смежные вопросы