我正在尝试获取一大块纯文本并将其中的一部分转换为 html 标签。我不需要一个完整的富编辑器,只需要这几个标签:
**bold**
__underline__
~~italics~~
--strike--
<<http://www.link.com>>
这是我尝试编写的方法,但我缺乏 regex/js 似乎阻碍了它:
function toMarkup($this) {
var text = $this.text();
text = text.replace("\*\*(.*)\*\*", "<b>$1</b>");
text = text.replace("__(.*)__", "<u>$1</u>");
text = text.replace("~~(.*)~~", "<i>$1</i>");
text = text.replace("--(.*)--", "<del>$1</del>");
text = text.replace("<<(.*)>>", "<a href='$1'>Link</a>");
$this.html(text);
}
关于为什么这些替换不起作用的任何明显错误?我刚刚意识到的另一个问题是,通过将此文本转换为 html,我正在取消转义任何其他可能是恶意的潜在标签。奖励将是关于如何仅逃避这些元素而不是其他任何建议的任何建议。