aboutsummaryrefslogtreecommitdiffstats
path: root/src/scss/abstracts/functions/_str-replace.scss
diff options
context:
space:
mode:
Diffstat (limited to 'src/scss/abstracts/functions/_str-replace.scss')
-rw-r--r--src/scss/abstracts/functions/_str-replace.scss20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/scss/abstracts/functions/_str-replace.scss b/src/scss/abstracts/functions/_str-replace.scss
new file mode 100644
index 0000000..624bf33
--- /dev/null
+++ b/src/scss/abstracts/functions/_str-replace.scss
@@ -0,0 +1,20 @@
+/// Replace `$search` with `$replace` in `$string`
+/// @author Hugo Giraudel
+/// @param {String} $string - Initial string
+/// @param {String} $search - Substring to replace
+/// @param {String} $replace ('') - New value
+/// @return {String} - Updated string
+@function str-replace($string, $search, $replace: "") {
+ $index: str-index($string, $search);
+
+ @if $index {
+ @return str-slice($string, 1, $index - 1) + $replace +
+ str-replace(
+ str-slice($string, $index + str-length($search)),
+ $search,
+ $replace
+ );
+ }
+
+ @return $string;
+}