This content originally appeared on DEV Community and was authored by Matt Kenefick
Let’s say you want to fix a URL that looks like:
https://www.example.com/my/path//to-file.jpg
Using a string replace or a simple regex could incorrectly “fix” the double slashes following the protocol. We can fix that by using a negative lookbehind.
(?<!:)/+
For PHP:
<?php
$url = 'https://www.example.com/my/path//to-file.jpg';
$str = preg_replace('#(?<!:)/+#im', '/', $url);
// https://www.example.com/my/path/to-file.jpg
For Javascript:
let url = 'https://www.example.com/my/path//to-file.jpg';
url.replaceAll(/(?<!:)\/+/gm, '/');
// "https://www.example.com/my/path/to-file.jpg"
This content originally appeared on DEV Community and was authored by Matt Kenefick

Matt Kenefick | Sciencx (2021-05-13T15:34:48+00:00) Regex: Fix duplicate slashes without affecting protocol. Retrieved from https://www.scien.cx/2021/05/13/regex-fix-duplicate-slashes-without-affecting-protocol/
Please log in to upload a file.
There are no updates yet.
Click the Upload button above to add an update.