URL'ler ile çalışmak için işlevler 

Tüm bu işlevler RFC'Yİ takip etmez. Geliştirilmiş performans için maksimum derecede basitleştirilmişlerdir.

Bir URL'nin bölümlerini Ayıklayan işlevler 

İlgili bölüm bir URL'de yoksa, boş bir dize döndürülür.

protokol 

Protokolü bir URL'den ayıklar.

Examples of typical returned values: http, https, ftp, mailto, tel, magnet…

etki 

Ana bilgisayar adını bir URL'den ayıklar.

domain(url)

Parametre

  • url — URL. Type: Dize.

URL, bir şema ile veya şema olmadan belirtilebilir. Örnekler:

svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/

Bu örnekler için, domain işlev aşağıdaki sonuçları döndürür:

some.svn-hosting.com
some.svn-hosting.com
yandex.com

Döndürülen değerler

  • Adı ana. ClickHouse giriş dizesini bir URL olarak ayrıştırırsa.
  • Boş dize. ClickHouse giriş dizesini bir URL olarak ayrıştıramazsa.

Tür: String.

Örnek

SELECT domain('svn+ssh://some.svn-hosting.com:80/repo/trunk')
┌─domain('svn+ssh://some.svn-hosting.com:80/repo/trunk')─┐
│ some.svn-hosting.com                                   │
└────────────────────────────────────────────────────────┘

domainWithoutWWW 

Etki alanını döndürür ve birden fazla kaldırır ‘www.’ başlangıcına, eğer var dan.

topLevelDomain 

Üst düzey etki alanını bir URL'den ayıklar.

topLevelDomain(url)

Parametre

  • url — URL. Type: Dize.

URL, bir şema ile veya şema olmadan belirtilebilir. Örnekler:

svn+ssh://some.svn-hosting.com:80/repo/trunk
some.svn-hosting.com:80/repo/trunk
https://yandex.com/time/

Döndürülen değerler

  • Etki alanı adı. ClickHouse giriş dizesini bir URL olarak ayrıştırırsa.
  • Boş dize. ClickHouse giriş dizesini bir URL olarak ayrıştıramazsa.

Tür: String.

Örnek

SELECT topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')
┌─topLevelDomain('svn+ssh://www.some.svn-hosting.com:80/repo/trunk')─┐
│ com                                                                │
└────────────────────────────────────────────────────────────────────┘

firstSignificantSubdomain 

Ret theur thens the “first significant subdomain”. Bu, Yandex'e özgü standart olmayan bir kavramdır.Metrica. İlk önemli alt etki alanı ise ikinci düzey bir etki alanıdır ‘com’, ‘net’, ‘org’, veya ‘co’. Aksi takdirde, üçüncü düzey bir alandır. Mesela, firstSignificantSubdomain (‘https://news.yandex.ru/’) = ‘yandex’, firstSignificantSubdomain (‘https://news.yandex.com.tr/’) = ‘yandex’. Listesi “insignificant” ikinci düzey etki alanları ve diğer uygulama ayrıntıları gelecekte değişebilir.

cutToFirstSignificantSubdomain 

En üst düzey alt etki alanlarını içeren etki alanının bir bölümünü döndürür. “first significant subdomain” (yukarıdaki açıklamaya bakınız).

Mesela, cutToFirstSignificantSubdomain('https://news.yandex.com.tr/') = 'yandex.com.tr'.

yol 

Yolu döndürür. Örnek: /top/news.html Yol sorgu dizesini içermez.

pathFull 

Yukarıdaki ile aynı, ancak sorgu dizesi ve parça dahil. Örnek: / top / haberler.html?Sayfa = 2 # yorumlar

queryString 

Sorgu dizesini döndürür. Örnek: Sayfa = 1 & lr = 213. sorgu dizesi, ilk soru işaretinin yanı sıra # ve # sonrası her şeyi içermez.

parça 

Parça tanımlayıcısını döndürür. fragment ilk karma sembolü içermez.

queryStringAndFragment 

Sorgu dizesini ve parça tanımlayıcısını döndürür. Örnek: Sayfa = 1#29390.

extractURLParameter (URL, isim) 

Değerini döndürür ‘name’ varsa, URL'DEKİ parametre. Aksi takdirde, boş bir dize. Bu ada sahip birçok parametre varsa, ilk oluşumu döndürür. Bu işlev, parametre adının URL'de geçirilen bağımsız değişkenle aynı şekilde kodlandığı varsayımı altında çalışır.

extractURLParameters (URL) 

Bir dizi döndürür name = URL parametrelerine karşılık gelen değer dizeleri. Değerler hiçbir şekilde deşifre edilmez.

extractURLParameterNames(URL) 

URL parametrelerinin adlarına karşılık gelen bir dizi ad dizesi döndürür. Değerler hiçbir şekilde deşifre edilmez.

URLHierarchy(URL) 

Sonunda/,? simgeleriyle kesilen URL'yi içeren bir dizi döndürür yol ve sorgu dizesinde. Ardışık ayırıcı karakterler bir olarak sayılır. Kesim, tüm ardışık ayırıcı karakterlerden sonra pozisyonda yapılır.

URLPathHierarchy(URL) 

Yukarıdaki ile aynı, ancak sonuçta protokol ve ana bilgisayar olmadan. / Eleman (kök) dahil değildir. Örnek: işlev, yandex'te URL'yi ağaç raporları uygulamak için kullanılır. Ölçü.

URLPathHierarchy('https://example.com/browse/CONV-6788') =
[
    '/browse/',
    '/browse/CONV-6788'
]

decodeURLComponent (URL) 

Çözülmüş URL'yi döndürür.
Örnek:

SELECT decodeURLComponent('http://127.0.0.1:8123/?query=SELECT%201%3B') AS DecodedURL;
┌─DecodedURL─────────────────────────────┐
│ http://127.0.0.1:8123/?query=SELECT 1; │
└────────────────────────────────────────┘

URL'nin bir bölümünü kaldıran işlevler 

URL'de benzer bir şey yoksa, URL değişmeden kalır.

cutWWW 

Birden fazla kaldırır ‘www.’ varsa, URL'nin etki alanının başından itibaren.

cutQueryString 

Sorgu dizesini kaldırır. Soru işareti de kaldırılır.

cutFragment 

Parça tanımlayıcısını kaldırır. Sayı işareti de kaldırılır.

cutQueryStringAndFragment 

Sorgu dizesini ve parça tanımlayıcısını kaldırır. Soru işareti ve sayı işareti de kaldırılır.

cutURLParameter (URL, isim) 

Kaldırır ‘name’ Varsa URL parametresi. Bu işlev, parametre adının URL'de geçirilen bağımsız değişkenle aynı şekilde kodlandığı varsayımı altında çalışır.

Orijinal makale

Rating: 4.2 - 6 votes

Was this content helpful?
★★★★☆