gpt4 book ai didi

javascript - 解析 html 元素中的 data-i18n 属性

转载 作者:行者123 更新时间:2023-11-29 21:58:43 33 4
gpt4 key购买 nike

我正在尝试使用自定义正则表达式(也使用默认的 i18n.t 函数)从 html 文件中解析“data-i18n”属性:

i18next modules/ -o lang/ -r '[^a-zA-Z0-9](?:(?:t)|(?:i18n\\.t)|(?:data-i18n))(?:\\(|\\s|=)\\s*(?:(?:\'((?:(?:\\\\\')?[^\']+)+[^\\\\])\')|(?:"((?:(?:\\\\")?[^"]+)+[^\\\\])"))'

解析器可以在这里找到: https://github.com/karellm/i18next-parser

文档中的命令:

i18next /path/to/file/or/dir -r "(.*)"

正则表达式已经在 regexpal 和 debuggex 上进行了测试,它匹配正确的标签:

[^a-zA-Z0-9](?:(?:t)|(?:i18n\.t)|(?:data-i18n))(?:\(|\s|=)\s*(?:(?:'((?:(?:\\')?[^']+)+[^\\])')|(?:"((?:(?:\\")?[^"]+)+[^\\])"))

我尝试以各种形式转义正则表达式字符串,但它不起作用。如何正确执行?

最佳答案

考虑如下使用 gulp:

var i18next = require("i18next-parser");
var gulp = require("gulp");

gulp.task("i18next-parse", function () {
gulp.src("js/modules/**")
.pipe(i18next({locales: ['en', 'hu'],
parser: '[^a-zA-Z0-9](?:(?:t)|(?:i18n\\.t)|(?:data-i18n))(?:\\(|\\s|=)\\s*(?:(?:\'((?:(?:\\\\\')?[^\']+)+[^\\\\])\')|(?:"((?:(?:\\\\")?[^"]+)+[^\\\\])"))',
output: "js/lang"})
.on('reading', function(path) {
console.log("Reading: " + path);
})
.on('writing', function(path) {
console.log("Writing: " + path);
}))
.pipe(gulp.dest('js/lang'));
});

您可以通过这种方式传递正则表达式(这是您尝试在命令行中传递时的问题)。

关于javascript - 解析 html 元素中的 data-i18n 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25060219/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com