ホームページ  >  記事  >  ウェブフロントエンド  >  正規表現を使用せずに URL からホスト名を抽出するにはどうすればよいですか?

正規表現を使用せずに URL からホスト名を抽出するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-11-12 19:01:02165ブラウズ

How to Extract Hostname from a URL Without Regular Expressions?

正規表現を使用しないホスト名の抽出

問題ステートメント

URL 全体を取得せずに URL のホスト名を照合するのは一般的なタスクです。複数の URL を含むテキスト文字列が与えられた場合、目的は、example.com などの特定のドメインに解決される 2 つのインスタンスのみのホスト名を抽出することです。

代替ソリューション

を利用する代わりに正規表現は非効率的な場合がありますが、別のアプローチを採用することもできます。

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

この方法は隠れた利点を活用します。一時的なアンカー要素を作成し、それに URL 文字列を割り当てることで、ホスト名とホストのプロパティにアクセスできます。これにより、URL パスやプロトコルなしでホスト名コンポーネントが提供されます。

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

この機能を便利な形式にカプセル化するには、 function:

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

この関数の引数として URL 文字列を指定すると、結果としてホスト名コンポーネントが取得されます。

以上が正規表現を使用せずに URL からホスト名を抽出するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。