使用正则表达式javascript查找字符串中的所有子字符串
Find all the substrings in string with regex javascript
我有一个富文本编辑器,它生成的输出也包括超链接。例如<p><a href="test.com" target="_blank">Link1</a> fsdfsdf <a href="google.com" target="_blank">Link2</a> fsdffsdfs</p>
,我需要获取所有的<a>
标记和其中的href
,这样我就可以运行验证,例如,如果它是外部链接,那么我就可以添加nofollow
标记等。我应该使用什么样的正则表达式?或者regex以外的任何东西?
谢谢。
需要获得中的所有标签和href
或者regex以外的任何东西?
尝试创建一个元素,将编辑器文本设置为.innerHTML
,使用.map()
返回a
元素的数组href
属性值
// editor text
var html = document.querySelector("#editor").textContent,
// element to store `html` from editor
div = document.createElement("div"),
// set `div` `.innerHTML` to editor text
div.innerHTML = html;
// `links` : all `a` elements ; `list` : `links` `href` values
var links = [].slice.call(div.querySelectorAll("a")),
list = links.map(function(el) {
return el.href
});
// filter `list`, set `rel="nofollow"` attribute at `a` element
// within `links` where condition at `if` returns `true`
for (var i = 0; i < list.length; i++) {
if (/* condition ; for example if it's an external link */) {
links[i].setAttribute("rel", "nofollow")
}
}
相关文章:
- 正则表达式在字符串中找到base64
- 子字符串/正则表达式以获取字符串中保存的 SRC 值
- 从字符串中提取年份的Javascript正则表达式
- Javascript 如何强制 string.replace 不将我的字符串解释为正则表达式
- 如何将正则表达式包含到字符串数组中
- 使用正则表达式匹配长度为六个字符的字母数字字符串
- 使用正则表达式反转字符串中的元音
- 如何分割由JavaScript中使用正则表达式的多个部分组成的字符串
- 在字符串列表中搜索任何出现的单词,如果单词的第一个字符匹配,则高亮匹配单词.Javascript正则表达式
- 删除两个字符串正则表达式之间的所有内容
- Javascript,字符串正则表达式匹配
- 字符串正则表达式模式.replace(/{0}/, “$0.00”) 不起作用
- Javascript:字符串正则表达式
- 如何在JavaScript中子字符串正则表达式
- 匹配大写或小写字符串正则表达式
- 逗号和空格分隔的数字和连字符分隔的字符串正则表达式
- 解析CGI查询字符串正则表达式
- 分析已知键的字符串正则表达式,但保留分隔符
- 在一组字符串中重新排列一个字符串 - 正则表达式
- 从字符串正则表达式中提取多个值