摊牌降价不替换字符串
Showdown markdown not replacing string
我目前正在尝试使用 ghost 博客平台将我自己的扩展添加到摊牌中。我正在努力做到这一点,以便有人可以输入地图,然后输入英国邮政编码,并将其渲染到地图上,就像这样 [map bh278bf]
。我已确保 maps.js 扩展名已添加并按我测试的方式工作。然而,我的 Regex 知识实际上是不存在的。我已经让正则表达式在 Regexr.com 中工作 here,但是当我 运行 没有任何反应时,我使用了相同的代码笔,但它也不起作用,我不知道是什么去做。我需要一些帮助来识别字符串!
表达式:
/(\[map )([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]?[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)(\])/igm
扩展(maps.js)
(function(){
var maps = function(converter) {
return [
{
type: 'output',
filter: function(source) {
return source.replace(/(\[map )([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]?[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)(\])$/gim, function(match) {
return "<span>Map will go here</span>";
});
}
}
];
};
// Client-side export
if (typeof window !== 'undefined' && window.Showdown && window.Showdown.extensions) { window.Showdown.extensions.prettify = maps; }
// Server-side export
if (typeof module !== 'undefined') module.exports = maps;
}());
你很接近但还没有。
您的正则表达式无效,应为:
/[地图 (GIR 0AA|A-PR-UWYZ ?[0-9][ABD-HJLNP-UW-Z]{2})]/ig
与 i
不区分大小写。查看答案
- 实际导出无效,而
window.Showdown.extensions.prettify = maps
你应该 window.Showdown.extensions.maps = maps
你在哪里
//
(function(){
var maps = function(converter) {
return [ {
type: 'lang',
filter: function(text) {
return text.replace(/\[map (GIR 0AA|[A-PR-UWYZ]([A-HK-Y]([0-9][A-Z]?|[1-9][0-9])|[1-9]([0-9]|[A-HJKPSTUW])?) ?[0-9][ABD-HJLNP-UW-Z]{2})\]/ig, 'map');
}
}];
};
// Client-side export
if (typeof window !== 'undefined' && window.Showdown && window.Showdown.extensions) { window.Showdown.extensions.maps = maps; }
// Server-side export
if (typeof module !== 'undefined') module.exports = maps;
}());
详情可以看下面fsfiddle
我目前正在尝试使用 ghost 博客平台将我自己的扩展添加到摊牌中。我正在努力做到这一点,以便有人可以输入地图,然后输入英国邮政编码,并将其渲染到地图上,就像这样 [map bh278bf]
。我已确保 maps.js 扩展名已添加并按我测试的方式工作。然而,我的 Regex 知识实际上是不存在的。我已经让正则表达式在 Regexr.com 中工作 here,但是当我 运行 没有任何反应时,我使用了相同的代码笔,但它也不起作用,我不知道是什么去做。我需要一些帮助来识别字符串!
表达式:
/(\[map )([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]?[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)(\])/igm
扩展(maps.js)
(function(){
var maps = function(converter) {
return [
{
type: 'output',
filter: function(source) {
return source.replace(/(\[map )([A-PR-UWYZ0-9][A-HK-Y0-9][AEHMNPRTVXY0-9]?[ABEHMNPRVWXY0-9]?[0-9][ABD-HJLN-UW-Z]{2}|GIR 0AA)(\])$/gim, function(match) {
return "<span>Map will go here</span>";
});
}
}
];
};
// Client-side export
if (typeof window !== 'undefined' && window.Showdown && window.Showdown.extensions) { window.Showdown.extensions.prettify = maps; }
// Server-side export
if (typeof module !== 'undefined') module.exports = maps;
}());
你很接近但还没有。
您的正则表达式无效,应为:
/[地图 (GIR 0AA|A-PR-UWYZ ?[0-9][ABD-HJLNP-UW-Z]{2})]/ig
与 i
不区分大小写。查看答案
- 实际导出无效,而
window.Showdown.extensions.prettify = maps
你应该window.Showdown.extensions.maps = maps
你在哪里
//
(function(){
var maps = function(converter) {
return [ {
type: 'lang',
filter: function(text) {
return text.replace(/\[map (GIR 0AA|[A-PR-UWYZ]([A-HK-Y]([0-9][A-Z]?|[1-9][0-9])|[1-9]([0-9]|[A-HJKPSTUW])?) ?[0-9][ABD-HJLNP-UW-Z]{2})\]/ig, 'map');
}
}];
};
// Client-side export
if (typeof window !== 'undefined' && window.Showdown && window.Showdown.extensions) { window.Showdown.extensions.maps = maps; }
// Server-side export
if (typeof module !== 'undefined') module.exports = maps;
}());
详情可以看下面fsfiddle