Kebab file names

This commit is contained in:
Angelos Chalaris
2023-04-27 21:58:35 +03:00
parent 1d189c709a
commit 61200d90c4
440 changed files with 0 additions and 0 deletions

29
snippets/url-join.md Normal file
View File

@ -0,0 +1,29 @@
---
title: Join URL segments
tags: string,regexp
cover: digital-nomad-2
firstSeen: 2018-01-16T15:53:03+02:00
lastUpdated: 2020-10-22T20:24:44+03:00
---
Joins all given URL segments together, then normalizes the resulting URL.
- Use `Array.prototype.join()` to combine URL segments.
- Use a series of `String.prototype.replace()` calls with various regular expressions to normalize the resulting URL (remove double slashes, add proper slashes for protocol, remove slashes before parameters, combine parameters with `'&'` and normalize first parameter delimiter).
```js
const URLJoin = (...args) =>
args
.join('/')
.replace(/[\/]+/g, '/')
.replace(/^(.+):\//, '$1://')
.replace(/^file:/, 'file:/')
.replace(/\/(\?|&|#[^!])/g, '$1')
.replace(/\?/g, '&')
.replace('&', '?');
```
```js
URLJoin('http://www.google.com', 'a', '/b/cd', '?foo=123', '?bar=foo');
// 'http://www.google.com/a/b/cd?foo=123&bar=foo'
```