UNPKG

locutus

Version:

Locutus other languages' standard libraries to JavaScript for fun and educational purposes

19 lines (18 loc) 882 B
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.preg_quote = preg_quote; function preg_quote(str, delimiter) { // discuss at: https://locutus.io/php/preg_quote/ // original by: booeyOH // improved by: Ates Goral (https://magnetiq.com) // improved by: Kevin van Zonneveld (https://kvz.io) // improved by: Brett Zamir (https://brett-zamir.me) // bugfixed by: Onno Marsman (https://twitter.com/onnomarsman) // example 1: preg_quote("$40") // returns 1: '\\$40' // example 2: preg_quote("*RRRING* Hello?") // returns 2: '\\*RRRING\\* Hello\\?' // example 3: preg_quote("\\.+*?[^]$(){}=!<>|:") // returns 3: '\\\\\\.\\+\\*\\?\\[\\^\\]\\$\\(\\)\\{\\}\\=\\!\\<\\>\\|\\:' return (str + '').replace(new RegExp('[.\\\\+*?\\[\\^\\]$(){}=!<>|:\\' + (delimiter || '') + '-]', 'g'), '\\$&'); }