将 javascript 简码替换为 link

Replacing javascript shortcodes to link

我有一个包含一些文本和简码的网页。我想替换链接的简码:

[a href="http://www.myurl.com" title="A Link Title"]My link text[/a] and even here [a href="www.yoururl.com" title="Another link" class="linkClass"]This is cool to[/a] !

对此

<a href="http://www.myurl.com" title="A Link Title">My link text</a> and even here <a href="www.yoururl.com" title="Another link" class="linkClass">This is cool to</a> !

你能帮我在 JQuery 或 Javascript 中完成吗?

感谢您的帮助。

尝试使用replace。希望它会有所帮助。

function sayHello() {
   var str = '[a href="http://www.myurl.com" title="A Link Title"]My link text[/a] and even here [a href="www.yoururl.com" title="Another link" class="linkClass"]This is cool to[/a] !';

   while(str.includes("[")){
      str = str.replace("[", "<");
   }

   while(str.includes("]")){
      str = str.replace("]", ">");
   }

   console.log(str);
}
sayHello();

我终于找到了如何使用此脚本执行此操作:https://github.com/nicinabox/shortcode.js

这是我处理案例的代码:

new Shortcode(document.querySelector('body'), {
  a: function(done) {
    var ret='<a';
    if (typeof this.options.href !== 'undefined' && this.options.href !== null) ret+=' href="'+this.options.href+'"';
    if (typeof this.options.class !== 'undefined' && this.options.class !== null) ret+=' class="'+this.options.class+'"';
    if (typeof this.options.title !== 'undefined' && this.options.title !== null) ret+=' title="'+this.options.title+'"';
    if (typeof this.options.style !== 'undefined' && this.options.style !== null) ret+=' style="'+this.options.title+'"';
    if (typeof this.options.target !== 'undefined' && this.options.target !== null) ret+=' target="'+this.options.title+'"';
    ret+='>'+this.contents+'</a>';
    return ret;
  }
});