相关疑难解决方法(0)

没有href属性的锚标签是否安全?

是否可以使用不包含href属性的锚标记,而是使用JavaScript单击事件处理程序?所以我会href完全省略,甚至没有它(href="").

html anchor standards hyperlink

226
推荐指数
7
解决办法
14万
查看次数

正则表达式替换html标记之外的文本

我有这个HTML:

"This is simple html text <span class='simple'>simple simple text text</span> text"
Run Code Online (Sandbox Code Playgroud)

我只需匹配任何HTML标记之外的单词.我的意思是如果我想匹配"简单"和"文本"我应该只从"这是简单的html文本"得到结果,最后一部分"文本" - 结果将是"简单"1匹配,"文本"2火柴.任何人都可以帮我这个吗?我正在使用jQuery.

var pattern = new RegExp("(\\b" + value + "\\b)", 'gi');

if (pattern.test(text)) {
    text = text.replace(pattern, "<span class='notranslate'>$1</span>");
}
Run Code Online (Sandbox Code Playgroud)
  • value 是我想要匹配的单词(在这种情况下"简单")
  • text"This is simple html text <span class='simple'>simple simple text text</span> text"

我需要将所有选定的单词(在本例中为"简单")包装起来<span>.但我想只包装任何 HTML标签之外的单词.这个例子的结果应该是

This is <span class='notranslate'>simple</span> html <span class='notranslate'>text</span> <span class='simple'>simple simple text text</span> <span class='notranslate'>text</span>
Run Code Online (Sandbox Code Playgroud)

我不想替换里面的任何文字

<span class='simple'>simple simple text text</span>
Run Code Online (Sandbox Code Playgroud)

它应该与更换前相同.

html regex replace

20
推荐指数
1
解决办法
2万
查看次数

正则表达式替换文本但在文本位于特定标记之间时排除

我有以下字符串:

Lorem ipsum Test dolor sit amet, consetetur sadipscing elitr, sed diam nonumy <a href="http://Test.com/url">Test</a> eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd sed Test dolores et ea rebum. Stet clita kasd gubergren, no sea <a href="http://url.com">Test xyz</a> takimata sanctus est Lorem ipsum dolor sit amet.
Run Code Online (Sandbox Code Playgroud)

现在我将标签之外的字符串'Test'替换为不在标签之间(例如替换为'1234').

Lorem ipsum 1234 dolor sit amet, consetetur sadipscing elitr, sed diam nonumy <a …
Run Code Online (Sandbox Code Playgroud)

regex

10
推荐指数
3
解决办法
2万
查看次数

Javascript正则表达式:查找所有网址优化

这个问题是以下帖子的后续内容: Javascript正则表达式:查找<a>标签之外的所有网址 - 嵌套标签

我发现代码:

\b((https?|ftps?):\/\/[^"<\s]+)(?![^<>]*>|[^"]*?<\/a)
Run Code Online (Sandbox Code Playgroud)

相比单独执行它是极其低效的httpftp部分是这样的:

\b(https?:\/\/[^"<\s]+)(?![^<>]*>|[^"]*?<\/a)
Run Code Online (Sandbox Code Playgroud)

\b(ftps?:\/\/[^"<\s]+)(?![^<>]*>|[^"]*?<\/a)
Run Code Online (Sandbox Code Playgroud)

以下是regex101.com的示例:

但是,在我的一个HTML页面中,这些代码比较为85628步骤与7258 + 795步骤,这非常疯狂.

据我所知,使用(x | y)模式可以减少执行长度,但这可能是因为一个奇怪的原因.

任何帮助,将不胜感激.

html javascript regex hyperlink multipart-alternative

6
推荐指数
1
解决办法
105
查看次数