2

有没有办法在该链接之后自动插入链接的域名?我想看看这个:

A link to youtube video [youtube.com]

我更喜欢只使用 HTML 和 CSS,但我想这是不可能的。这个想法是使用这段代码:

  a:after {
    content: " [" attr(href) "]";
  }

但这当然会显示整个 URL:

A link to youtube video [https://www.youtube.com/watch?v=asdfghi00]

我认为这太长而且没有必要。我使用 Wordpress(也许只有一个插件可以做到这一点,我只是没见过)。它链接 jQuery,所以一个 jquery 脚本可能是可以接受的。或者,我可以使用 PHP 并将其破解到 Wordpress 中。

您认为最好的解决方案是什么?PHP 还是 JavaScript?我会从使用 jQuery 中受益吗(好吧,它已经加载了)?如果可能的话,你能为我写这个片段吗?谢谢。

4

3 回答 3

2

如果您负担得起在链接上添加另一个属性,则可以这样做。

这是一个例子

在您的标记中,添加一个data-属性:

<a href="youtube.com/foo" data-href-domain="youtube.com">a link to youtube video</a>

并在您尝试时使用生成的内容引用它:

a:after {
 content: " [" attr(data-href-domain) "]";
}
于 2013-01-23T20:47:55.443 回答
0

当我想到它时,一种可能的解决方案是创建一个自定义简码(在插件Shortcoder或类似插件的帮助下)。这将使我能够轻松地制作经典链接和带有显示地址的链接。我会使用类似于这样的短编码器语法:

<a href="http%%s%%://%%domain%%/%%link%%">%%text%%</a> [%%domain%%]

使用它 -Lorem Ipsum [sc:extlink s="s" domain="youtube.com" link="watch?v=asd" text="link" ] Dolor Dot.转化为:

<p>Lorem Ipsum <!-- Start Shortcoder content --><a href="https://youtube.com/watch?v=asd">link</a> [youtube.com]<!-- End Shortcoder content --> Dolor Dot.</p>

或者

<a class="with-note" href="http%%s%%://%%domain%%/%%link-tail%%" data-href-domain="%%domain%%">%%text%%</a>

后者按照 Alessandro建议的方式使用 CSS 。但它仍然没有它应该的那么好和舒适。如果没有人能提供更好的东西,这只是一个选择。

于 2013-01-23T22:10:45.583 回答
0

这个问题很老了,但这里是你如何用 jQuery 来做的:

$('a').each(function () {
    this.hostname && $(this).after(' ['+this.hostname+']');
});

编辑:您可以通过将其粘贴到控制台中来在 stackoverflow 上试用它

于 2016-05-04T06:42:57.327 回答