我正在从 html 字符串的页面上显示电子邮件。
某些 href 属性值给我带来了问题。它们采用 的形式x-msg://1726/
,例如,它们可能如下所示:
<base href="x-msg://1726/">
我想用一个简单的 # 替换这个协议的所有 href 标签。
如何在正则表达式中指定要在与 x-msg 协议匹配的 href 属性上匹配并将其替换为空字符串或 # 符号?
我想在javascript中做到这一点。
我正在从 html 字符串的页面上显示电子邮件。
某些 href 属性值给我带来了问题。它们采用 的形式x-msg://1726/
,例如,它们可能如下所示:
<base href="x-msg://1726/">
我想用一个简单的 # 替换这个协议的所有 href 标签。
如何在正则表达式中指定要在与 x-msg 协议匹配的 href 属性上匹配并将其替换为空字符串或 # 符号?
我想在javascript中做到这一点。
使用 JavaScript,您可以在替换中使用分组来重用匹配的字符串。
str = str.replace(/(href=")x-msg:\/\/([^"]+)\//ig', '$1#$2');
在您的示例中,结果将是<base href="x-msg://1726/">
. 如果您确信 x-msg 仅在 href 中,那么您当然可以通过从正则表达式中删除所有 html 标记来降低正则表达式的复杂性。另外我不知道 x-msg 是否可以包含字母数字字符,或者只是像您的示例中的数字。最好使用\d
或设置匹配指定字符。