diff options
author | zixaphir <zixaphirmoxphar@gmail.com> | 2023-08-31 03:20:19 +0000 |
---|---|---|
committer | zixaphir <zixaphirmoxphar@gmail.com> | 2023-08-31 03:20:19 +0000 |
commit | 41196ccbf7552274cf111de24a43ebfa836175a6 (patch) | |
tree | b6a8f6bb788d4a40fa77b727f07b7e3b73970480 /javascript | |
parent | 6adf2b71c2c89f84d4aee1e230276dcd1a3fab62 (diff) | |
download | stable-diffusion-webui-gfx803-41196ccbf7552274cf111de24a43ebfa836175a6.tar.gz stable-diffusion-webui-gfx803-41196ccbf7552274cf111de24a43ebfa836175a6.tar.bz2 stable-diffusion-webui-gfx803-41196ccbf7552274cf111de24a43ebfa836175a6.zip |
account for customizable extra network separators in remove code
previous behavior only searched for leading spaces
Diffstat (limited to 'javascript')
-rw-r--r-- | javascript/extraNetworks.js | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/javascript/extraNetworks.js b/javascript/extraNetworks.js index 493f31af..eb2b9ebd 100644 --- a/javascript/extraNetworks.js +++ b/javascript/extraNetworks.js @@ -141,9 +141,12 @@ function setupExtraNetworks() { onUiLoaded(setupExtraNetworks); var re_extranet = /<([^:]+:[^:]+):[\d.]+>(.*)/; -var re_extranet_g = /\s+<([^:]+:[^:]+):[\d.]+>/g; +var re_extranet_str = '<([^:]+:[^:]+):[\\d.]+>'; function tryToRemoveExtraNetworkFromPrompt(textarea, text) { + function reEscape(s) { + return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); + } var m = text.match(re_extranet); var replaced = false; var newTextareaText; @@ -151,7 +154,9 @@ function tryToRemoveExtraNetworkFromPrompt(textarea, text) { var extraTextAfterNet = m[2]; var partToSearch = m[1]; var foundAtPosition = -1; - newTextareaText = textarea.value.replaceAll(re_extranet_g, function(found, net, pos) { + var escapedSeparator = reEscape(opts.extra_networks_add_text_separator); + var re = new RegExp(escapedSeparator + re_extranet_str, 'g'); + newTextareaText = textarea.value.replaceAll(re, function(found, net, pos) { m = found.match(re_extranet); if (m[1] == partToSearch) { replaced = true; |