如何在markdown字符串中更改图像URL

时间:2013-07-15 14:41:36

标签: regex node.js markdown

我正在使用nodejs CMS,用户在本地写入Markdown中的博客帖子,上传后我们在HTML文件中处理帖子。有时,用户会通过复制图像和写入来向帖子中添加my dog.jpg等图片:

![a picture of my dog](my dog.jpg)

我使用uslug转换所有文件名,以便my dog.jpg变为my-dog.jpg。但是我还需要使用uslug更新blogpost中的链接,因为a)否则链接会中断,因为我们只是更改了文件名和b)因为节点的大多数markdown解析器将因为空白而跳过上面的图像语法(而图像确实在许多本地Markdown编辑器中预览,例如Mou)。

有人知道如何使用正则表达式实现这一目标吗?

1 个答案:

答案 0 :(得分:8)

你需要大量的斜杠:

string.replace(/(!\[.*?\]\()(.+?)(\))/g, function(whole, a, b, c) {
    return a + addDashesOrWhatever(b) + c;
});