fix(mstring): 修复前端模板引擎正则错误并同步逻辑

This commit is contained in:
yczpf2019
2026-01-24 19:48:12 +08:00
parent ef98c5e89f
commit 0fc1d9c439

View File

@@ -1,11 +1,11 @@
goog.loadJs('common', () => {
goog.require('Mixly.Debug');
goog.provide('Mixly.MString');
goog.require('Mixly.Debug');
goog.provide('Mixly.MString');
const { Debug, MString } = Mixly;
const { Debug, MString } = Mixly;
/**
/**
* @function 使用传入值替换字符串中{xxx}
* @param str {string} 传入字符串
* @param obj {object}
@@ -16,18 +16,18 @@ const { Debug, MString } = Mixly;
* 使用value替换{xxx}
* @return {string} 返回处理后的字符串
**/
MString.tpl = (str, obj) => {
MString.tpl = (str, obj) => {
if (typeof str !== 'string' || !(obj instanceof Object)) {
return str;
}
for (let key in obj) {
let re = new RegExp("{[\s]*" + key + "[\s]*}", "gim");
let re = new RegExp(`{${key}}`, 'gm');
str = str.replace(re, obj[key]);
}
return str;
}
}
MString.decode = (str) => {
MString.decode = (str) => {
try {
str = unescape(str.replace(/(_E[0-9A-F]{1}_[0-9A-F]{2}_[0-9A-F]{2})+/gm, '%$1'));
str = unescape(str.replace(/\\(u[0-9a-fA-F]{4})/gm, '%$1'));
@@ -35,9 +35,9 @@ MString.decode = (str) => {
Debug.error(error);
}
return str;
}
}
MString.strToByte = (str) => {
MString.strToByte = (str) => {
var len, c;
len = str.length;
var bytes = [];
@@ -60,9 +60,9 @@ MString.strToByte = (str) => {
}
}
return new Int8Array(bytes);
}
}
MString.uint8ArrayToStr = (fileData) => {
MString.uint8ArrayToStr = (fileData) => {
var dataString = "";
for (var i = 0; i < fileData.length; i++) {
var convert = (fileData[i]).toString(16);
@@ -71,6 +71,6 @@ MString.uint8ArrayToStr = (fileData) => {
dataString = dataString + " " + convert.toUpperCase();
}
return dataString;
}
}
});