Maison  >  Article  >  interface Web  >  Comment extraire le nom d’hôte d’une URL sans expressions régulières ?

Comment extraire le nom d’hôte d’une URL sans expressions régulières ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-12 19:01:02164parcourir

How to Extract Hostname from a URL Without Regular Expressions?

Extraire le nom d'hôte sans expressions régulières

Énoncé du problème

Faire correspondre le nom d'hôte d'une URL sans capturer l'intégralité de l'URL est une tâche courante. Étant donné une chaîne de texte contenant plusieurs URL, l'objectif est d'extraire le nom d'hôte uniquement des deux instances qui correspondent à un domaine spécifique, tel que example.com.

Solution alternative

Au lieu d'utiliser expressions régulières, qui peuvent parfois s'avérer inefficaces, une approche alternative peut être utilisée :

var tmp = document.createElement('a');
tmp.href = "http://www.example.com/12xy45";

Cette méthode exploite un avantage caché. En créant un élément d'ancrage temporaire et en lui attribuant la chaîne d'URL, nous pouvons accéder au nom d'hôte et aux propriétés d'hôte, qui fournissent le composant de nom d'hôte sans le chemin ou le protocole de l'URL.

// tmp.hostname will now contain 'www.example.com'
// tmp.host will now contain hostname and port 'www.example.com:80'

Pour encapsuler cette fonctionnalité dans un format pratique function :

function url_domain(data) {
  var a = document.createElement('a');
  a.href = data;
  return a.hostname;
}

En fournissant la chaîne URL comme argument à cette fonction, nous obtenons le composant nom d'hôte comme résultat.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn