获取所有 <a> 个不包含 rel="nofollow" 的标签
Get all <a> tags which do not contain a rel="nofollow"
我写了一个小命令来查找所有包含外部 url 的文件,使用 ack
并在 sublime 中打开它们,所以我可以在所有标签上进行查找和替换并添加 rel="nofollow"
:
sublime $(ack -l '<a[^>]+href="http')
但现在我想确保那些 <a>
标签尚未包含 rel="nofollow"
。谁能帮帮我?
我只需要获取所有包含 href="http
的 <a>
标签(所以我很确定它是外部 url),但如果我能检查一下可能会更好它包含 href="<do not contain website.nl>"
,所以没有 website.nl
的 href。它可能不包含 rel="nofollow"
.
如果它可以检查 rel="nofollow"
和 rel='nofollow'
(所以单引号和双引号,href
也一样),那将是一个很好的奖励,但我可以 运行相同的命令几次,有和没有双引号,所以这不是什么大问题。
我相信 ack 使用 Perl 正则表达式模式,在这种情况下你应该使用否定的前瞻性,就像这样
$ sublime $(ack -l '<a\b(?=[^>]+\bhref="http)(?![^>]+\brel="nofollow")')
但请注意,ack 一次只会检查一行,而 HTML <a>
元素可能 运行 多行
我写了一个小命令来查找所有包含外部 url 的文件,使用 ack
并在 sublime 中打开它们,所以我可以在所有标签上进行查找和替换并添加 rel="nofollow"
:
sublime $(ack -l '<a[^>]+href="http')
但现在我想确保那些 <a>
标签尚未包含 rel="nofollow"
。谁能帮帮我?
我只需要获取所有包含 href="http
的 <a>
标签(所以我很确定它是外部 url),但如果我能检查一下可能会更好它包含 href="<do not contain website.nl>"
,所以没有 website.nl
的 href。它可能不包含 rel="nofollow"
.
如果它可以检查 rel="nofollow"
和 rel='nofollow'
(所以单引号和双引号,href
也一样),那将是一个很好的奖励,但我可以 运行相同的命令几次,有和没有双引号,所以这不是什么大问题。
我相信 ack 使用 Perl 正则表达式模式,在这种情况下你应该使用否定的前瞻性,就像这样
$ sublime $(ack -l '<a\b(?=[^>]+\bhref="http)(?![^>]+\brel="nofollow")')
但请注意,ack 一次只会检查一行,而 HTML <a>
元素可能 运行 多行