|
1 | 1 | const useHash = process.env.VITE_REACT_APP_USE_HASH_LINKS === "true" || false; |
2 | 2 |
|
3 | 3 | const localReplaceLink = (url, locale) => { |
4 | | - if (url) { |
5 | | - if (!url.substr(url.indexOf("/wp") + 3).startsWith("/" + locale)) { |
6 | | - return "/" + locale + url.substr(url.indexOf("/wp") + 3); |
7 | | - } |
8 | | - return url.substr(url.indexOf("/wp") + 3); |
| 4 | + if (url) { |
| 5 | + if (!url.substr(url.indexOf("/wp") + 3).startsWith("/" + locale)) { |
| 6 | + return "/" + locale + url.substr(url.indexOf("/wp") + 3); |
9 | 7 | } |
10 | | - return ""; |
| 8 | + return url.substr(url.indexOf("/wp") + 3); |
| 9 | + } |
| 10 | + return ""; |
11 | 11 | }; |
12 | 12 |
|
13 | 13 | export const replaceLink = (url, locale) => { |
14 | | - return localReplaceLink(url, locale) |
| 14 | + return localReplaceLink(url, locale) |
15 | 15 | } |
16 | 16 |
|
17 | 17 | export const replaceHTMLinks = (html, locale) => { |
18 | | - //console.log("--------- replaceHTMLinks--------------") |
19 | | - // console.log(process.env.REACT_APP_WP_HOSTS) |
| 18 | + //console.log("--------- replaceHTMLinks--------------") |
| 19 | + // console.log(process.env.REACT_APP_WP_HOSTS) |
20 | 20 |
|
21 | | - let link; |
22 | | - let regex = /href\s*=\s*(['"])(https?:\/\/.+?)\1/ig; |
| 21 | + let link; |
| 22 | + let regex = /href\s*=\s*(['"])(https?:\/\/.+?)\1/ig; |
23 | 23 |
|
24 | | - let newHtml = html |
25 | | - while ((link = regex.exec(html)) !== null) { |
26 | | - let href = link[2] |
27 | | - let newLink = localReplaceLink(href, locale) |
28 | | - newHtml = newHtml.replaceAll(link[2], newLink) |
29 | | - } |
30 | | - return newHtml; |
| 24 | + let newHtml = html |
| 25 | + while ((link = regex.exec(html)) !== null) { |
| 26 | + let href = link[2] |
| 27 | + let newLink = localReplaceLink(href, locale) |
| 28 | + newHtml = newHtml.replaceAll(link[2], newLink) |
| 29 | + } |
| 30 | + return newHtml; |
31 | 31 | } |
32 | 32 |
|
33 | 33 | export const removePatternBrackets = (html) => { |
34 | | - const bracketReplacement = `###${Math.random()}###`; // A unique string to mark replacements |
35 | | - const regex = new RegExp(`\\[${bracketReplacement}.*?]`, 'ig'); // No lookbehind, matches pattern within square brackets |
36 | | - if (html) { |
37 | | - return html |
38 | | - .replaceAll('[:', `[${bracketReplacement}`) // Use square brackets to match regex pattern |
39 | | - .replaceAll(regex, '') // Remove entire pattern inside square brackets |
40 | | - .replaceAll(`${bracketReplacement}`, ''); // Clean up any remaining placeholders |
41 | | - } else { |
42 | | - return null; |
43 | | - } |
| 34 | + const bracketReplacement = `###${Math.random()}###`; // A unique string to mark replacements |
| 35 | + const regex = new RegExp(`\\[${bracketReplacement}.*?]`, 'ig'); // No lookbehind, matches pattern within square brackets |
| 36 | + if (html) { |
| 37 | + return html |
| 38 | + .replaceAll('[:', `[${bracketReplacement}`) // Use square brackets to match regex pattern |
| 39 | + .replaceAll(regex, '') // Remove entire pattern inside square brackets |
| 40 | + .replaceAll(`${bracketReplacement}`, ''); // Clean up any remaining placeholders |
| 41 | + } else { |
| 42 | + return null; |
| 43 | + } |
44 | 44 | }; |
45 | 45 |
|
46 | | -export default {replaceHTMLinks, replaceLink} |
| 46 | +export default { replaceHTMLinks, replaceLink } |
0 commit comments