如果我有以下内容:
content = "<a href=\"1\">I</a> was going here and then <a href=\"that\">that</a> happened."
Run Code Online (Sandbox Code Playgroud)
如何完全删除标签,以便大字符串不再有任何锚标签?
我到目前为止:
var href = content.indexOf("href=\"");
var href1 = content.substring(href).indexOf("\"");
Run Code Online (Sandbox Code Playgroud)
这就是为什么上帝发明了正则表达式,该string.replace方法接受该表达式作为要替换的字符串.
var contentSansAnchors = content.replace(/<\/?a[^>]*>/g, "");
Run Code Online (Sandbox Code Playgroud)
如果你是regex的新手,可以解释一下:
/... /:不是将搜索字符串包装在引号中,而是将其包装在正斜杠中以反映正则表达式.
<... >:这些是文字HTML标记括号.
\/?:标签可能是也可能不是(?)以正斜杠(\/)开头.必须使用反斜杠转义正斜杠,否则正则表达式将在此处提前结束.
a:文字锚标记名称.
[^>]*:之后a,标签可能包含零个或多个(*)字符,这些字符不是(^)一个右括号(>)."除了括号之外的任何东西"表达式都包含在方括号([... ])中,因为它代表单个字符.
g:这会将正则表达式修改为全局,以便替换所有匹配项.否则,只会替换第一个匹配项.
根据您希望解析的字符串,您可能还需要i为不区分大小写添加修饰符.
| 归档时间: |
|
| 查看次数: |
3867 次 |
| 最近记录: |