Javascript 用原型替换正则表达式?

Javascript 用原型替换正则表达式?,javascript,regex,prototype,Javascript,Regex,Prototype,我用以下方式格式化了一些html: [Title|<a class="external" href="http://test.com">http://test.com</a>] [标题|] 从这些文本中,我想创建使用“标题”作为文本的链接,并http://test.com“作为链接。如何在prototype中最好地做到这一点?如果没有prototype:,您可以使用prototype使其更简单 var myStr = "[THIS IS TITLE|http://te

我用以下方式格式化了一些html:

[Title|<a class="external" href="http://test.com">http://test.com</a>]
[标题|]
从这些文本中,我想创建使用“标题”作为文本的链接,并http://test.com“作为链接。如何在prototype中最好地做到这一点?

如果没有prototype:,您可以使用prototype使其更简单

var myStr = "[THIS IS TITLE|http://test.com]";
document.getElementById('testdiv').innerHTML =  getLink(myStr);


function getLink(myStr)
{
var splitted = myStr.split("|http");
var title = splitted[0].substring(1);
var href = splitted[1].substring(0,splitted[1].length-1);
return "<a href='http" + href + "'>" + title + "</a>";

}
var myStr=“[这是标题|http://test.com]";
document.getElementById('testdiv')。innerHTML=getLink(myStr);
函数getLink(myStr)
{
var splitted=myStr.split(“| http”);
var title=splited[0]。子字符串(1);
var href=splitted[1]。子字符串(0,splitted[1]。长度-1);
返回“”;
}
如果没有prototype:,您可以使用prototype使其更简单

var myStr = "[THIS IS TITLE|http://test.com]";
document.getElementById('testdiv').innerHTML =  getLink(myStr);


function getLink(myStr)
{
var splitted = myStr.split("|http");
var title = splitted[0].substring(1);
var href = splitted[1].substring(0,splitted[1].length-1);
return "<a href='http" + href + "'>" + title + "</a>";

}
var myStr=“[这是标题|http://test.com]";
document.getElementById('testdiv')。innerHTML=getLink(myStr);
函数getLink(myStr)
{
var splitted=myStr.split(“| http”);
var title=splited[0]。子字符串(1);
var href=splitted[1]。子字符串(0,splitted[1]。长度-1);
返回“”;
}
纯正则表达式:

var ProperLink=WierdString.replace(/\[([^|]+)\|(<[^>]+>)[^<]+[^\]]+\]/,'$2$1</a>')
var-ProperLink=WierdString.replace(/\[([^ |]+)\\\\[(]+>)[^]

var ProperLink=WierdString.replace(/\[([^|]+)\|(<[^>]+>)[^<]+[^\]]+\]/,'$2$1</a>')
var-ProperLink=WierdString.replace(/\[([^ |]+)\\\[(]+>)[^)[^]var-dummyDiv=document.createElement('div');
dummyDiv.innerHTML='[Title |
var dummyDiv=document.createElement('div');

dummyDiv.innerHTML='[Title |这里有一个正则表达式,在执行替换时将保留锚标记的原始属性:

var link = "[Title|<a class=\"external\" href=\"http://test.com\">http://test.com</a>]";
var pattern = /\[([^|]+)\|([^>]+.?)[^<]*(<\/a>)\]/;
link.replace(pattern, "$2$1$3"));
var link=“[Title |]”;

var pattern=/\[([^ |]+)\\\([^>]+.?)[^这里有一个正则表达式,在执行替换时将保留锚标记的原始属性:

var link = "[Title|<a class=\"external\" href=\"http://test.com\">http://test.com</a>]";
var pattern = /\[([^|]+)\|([^>]+.?)[^<]*(<\/a>)\]/;
link.replace(pattern, "$2$1$3"));
var link=“[Title |]”;


var pattern=/\[([^ |]+)\[([^>]+.?)[^hmmm..我认为parts[1]是
,FLX想要一个链接版本的
parts[0]
@Shad-
parts[1]
应该只是url,没有任何HTML。我想象@FLX可以使用文本和url创建一个锚节点。参见hmmm..我认为parts[1]是
并且FLX想要一个链接版本的
部件[0]
@Shad-
部件[1]
应该只是url,没有任何HTML。我想象@FLX可以使用文本和url创建锚节点。谢谢!我在实现这一点时遇到了困难,请参见:谢谢!我在实现这一点时遇到了困难,请参见:Nice Shad!你知道我如何在示例中实现它吗?谢谢,伙计:)谢谢Chad,但我无法让它工作:/Please see:--非常感谢你的帮助!很好的Shad!你知道我如何在一个例子中实现它吗,例如:?谢谢人:)谢谢Chad,但我无法让它工作:/Please see:--非常感谢你的帮助!你希望你的最终输出是什么?嗨,DhruvPathak,输出t应该是:test.com“>标题您希望最终输出是什么?您好,DhruvPathak,输出应该是:test.com”>TitleHi Adam,我如何使它在整个div中迭代?我一直在尝试让它工作,但我仍然失败:我已经更新了JSFIDLE,在正则表达式模式的末尾使用
/g
替换每一个。嘿Adam,不幸的是,它只附加到#formatted,而没有按照请求替换它们,我如何修复这个问题呢nks!我已经更新了JSFIDLE,这样它就可以根据您的要求替换原始文本了:太棒了,这完全行得通!最后一个愚蠢的问题;我必须在类上实现它,而不是在id上实现它,这看起来更难,关于如何实现它有什么想法吗?一如既往,非常感谢男士:)嗨,亚当,我如何让它在整个div?我一直在尝试让它正常工作,但仍然失败:我已经更新了JSFIDLE,在正则表达式模式的末尾使用
/g
替换了每一个。嘿,亚当,不幸的是,它只是附加到#格式化,而不是按照要求替换它们,我如何修复它?非常感谢!我已经更新了JSFIDLE,使它能够替换根据您的要求提供原文:太棒了,这完全有效!最后一个愚蠢的问题;我必须在类上实现这一点,而不是在id上实现这一点,这似乎更难,您知道如何实现这一点吗?一如既往,非常感谢男士:)