Javascript 是否可以使用正则表达式将子字符串移动到特定位置?
背景:我使用quill.js获取一些富文本输入。我想要的结果与HTML非常相似,因此我使用quill.container.firstChild.innerHTML方法,而不是实际序列化数据。但说到锚,而不是Javascript 是否可以使用正则表达式将子字符串移动到特定位置?,javascript,regex,Javascript,Regex,背景:我使用quill.js获取一些富文本输入。我想要的结果与HTML非常相似,因此我使用quill.container.firstChild.innerHTML方法,而不是实际序列化数据。但说到锚,而不是 <a href="test.html">Anchor</a> 使用.replace方法,我很容易得到{{link:test.html}}锚,但我需要将链接描述放在锚文本之后。有没有办法将{{link:test.html}与下一个进行交换,以便获得所需的结果?字符串中
<a href="test.html">Anchor</a>
使用.replace方法,我很容易得到{{link:test.html}}锚,但我需要将链接描述放在锚文本之后。有没有办法将{{link:test.html}与下一个进行交换,以便获得所需的结果?字符串中可以有多个锚点,如:
str = 'This is a <a href="test1.html">test</a>. And <a href="test2.html">another one</a> here.'
是的,您可以在替换字符串中使用捕获组和占位符,前提是它的格式与您显示的格式完全相同: const str='这是一个。在这里。”;
const result=str.replace/是的,您可以在替换字符串中使用捕获组和占位符,前提是它的格式与您显示的格式完全相同: const str='这是一个。在这里。”;
const result=str.replace/您还可以使用dom方法。dom是比正则表达式更好的html解析器。这是一个相当简单的替换 str='这是一个。还有这里。” var div=document.createElement'div'; div.innerHTML=str; div.queryselectoral'a'.forEacha=>{ a、 替换为`${a.textContent}{{link:${a.getAttribute'href'}}}` }
console.logdiv.innerHTML您还可以使用dom方法。dom是比正则表达式更好的html解析器。这是一个相当简单的替换 str='这是一个。还有这里。” var div=document.createElement'div'; div.innerHTML=str; div.queryselectoral'a'.forEacha=>{ a、 替换为`${a.textContent}{{link:${a.getAttribute'href'}}}` }
console.logdiv.innerHtml这太棒了!我只是稍微简化了一点,但是str.replace/这太棒了!我只是稍微简化了一点,但是str.replace/如果您使用浏览器或其他可用的DOM解析器,这是我书中的方法。这是一个非常聪明的方法!虽然T.J.Crowder的解决方案似乎更简单,但非常感谢你拓宽了我的视野。@T.J.Crowder对……我认为OP的羽毛笔是所见即所得editor@AgustínDorado-FWIW,这比正则表达式解决方案更健壮-如果您使用的是浏览器或其他可用的DOM解析器,这是我书中的方法。这是一个非常聪明的方法!虽然T.J.Crowder的解决方案似乎更简单,但非常感谢你拓宽了我的视野。@T.J.Crowder对……我认为OP的羽毛笔是所见即所得editor@AgustínDorado-FWIW,这比正则表达式解决方案更健壮-
str = 'This is a <a href="test1.html">test</a>. And <a href="test2.html">another one</a> here.'
str = 'This is a test{{link:test1.html}}. And another one{{link:test2.html}} here.'