Я никогда раньше не использовал регулярное выражение, и мне было интересно, как написать регулярное выражение в PHP, которое получает домен URL. Например: http://www.hegnar.no/bors/article488276.ece -> hegnar.noРегулярное выражение для получения основного домена URL-адреса
ответ
Просто используйте parse_url()
, если вы имеете дело с URL-адресами.
Например:
$url = "http://www.hegnar.no/bors/article488276.ece";
$url_u_want = parse_url($url, PHP_URL_HOST);
EDIT: Чтобы вынуть WWW. Infront, использование:
$url_u_want = preg_replace("/^www\./", "", $url_u_want);
Вам не нужно использовать regexp для выполнения этой задачи.
Check PHP встроенный в функции, parse_url http://php.net/manual/en/function.parse-url.php
Он возвращает null, когда URL-адрес не имеет www. или http – 2010-12-07 16:03:46
Что возвращает false? Ссылка на руководство по php? – 2010-12-07 16:06:00
Функция. Возвращает null, если URL-адрес не имеет www. – 2010-12-07 16:08:11
$host = parse_url($url, PHP_URL_HOST);
$host = array_reverse(explode('.', $host));
$host = $host[1].'.'.$host[0];
$page = "http://google.no/page/page_1.html";
preg_match_all("/((?:[a-z][a-z\\.\\d\\-]+)\\.(?:[a-z][a-z\\-]+))(?![\\w\\.])/", $page, $result, PREG_PATTERN_ORDER);
print_r($result);
Это проблема при использовании parse_url, в $ URL без каких-либо .com или .net или и т.д., то результат Возвращается bannedadsense, это означает возвращение истинного, тот факт bannedadsense не является областью.
$url = 'http://bannedadsense/isbanned'; // this url will return false in preg_match
//$url = 'http://bannedadsense.com/isbanned'; // this url will return domain in preg_match
$domain = parse_url($url, PHP_URL_HOST));
// return "bannedadsense", meaning this is right domain.
Так что нам нужно продолжать проверять больше дело без расширения точек (.com, .net, .org и т.д.)
if(preg_match("/^[a-zA-Z0-9][a-zA-Z0-9-]{1,61}[a-zA-Z0-9](?:\.[a-zA-Z]{2,})+$/i",$domain)) {
echo $domain;
}else{
echo "<br>";
echo "false";
}
- 1. Регулярное выражение для проверки домена
- 2. регулярное выражение адрес домена
- 3. регулярное выражение домена
- 4. Notepad ++, регулярное выражение Posix и URL (регулярное выражение для получения домена)
- 5. Регулярное выражение для preg_match основного предложения
- 6. Уплотненного регулярное выражение для соответствия домена
- 7. Регулярное выражение Javascript для удаления расширения домена
- 8. Регулярное выражение Redshift для извлечения домена
- 9. Регулярное выражение для извлечения имени домена из любого домена
- 10. Regex для получения домена по электронной почте
- 11. Регулярное выражение для получения html без комментариев
- 12. Регулярное выражение для получения текста внутри скобки
- 13. Регулярное выражение для получения выбранных столбцов
- 14. C# Регулярное выражение для получения данных
- 15. Регулярное выражение только для получения даты
- 16. регулярное выражение для получения данных из строки
- 17. Регулярное выражение для получения значения из массива
- 18. регулярное выражение для получения текста внутри [BBCode]
- 19. Регулярное выражение для получения однозначных цифр
- 20. Регулярное выражение для получения нефрита включает
- 21. PHP регулярное выражение для получения класса img
- 22. Регулярное выражение для получения значения из []
- 23. Android регулярное выражение для получения первой возможности
- 24. регулярное выражение домена nginx для включения подстановочных знаков
- 25. Регулярное выражение извлечения имени пользователя из домена
- 26. Регулярное выражение для субдомена
- 27. Какое регулярное выражение можно использовать для получения имени домена с URL-адреса в Ruby?
- 28. Альтернативное регулярное выражение для получения содержимого для тега xml
- 29. Javascript получения неисправного результата, используя регулярное выражение
- 30. Регулярное выражение для URL-адреса, начинающегося с имени домена
похож на это: [Http: // StackOverflow .com/a/9891706/480021] (http://stackoverflow.com/a/9891706/480021) – zyanlu 2012-03-27 14:40:49