Eu tive um problema em que precisei substituir o texto do link, mas não consegui usar JavaScript nem alterei diretamente o texto de um hiperlink, pois ele foi compilado a partir do XML. Além disso, eu não podia usar pseudo-elementos, ou eles não pareciam funcionar quando eu os havia experimentado.
Basicamente, coloquei o texto que eu queria em um espaço e coloquei a âncora embaixo dele e envolvi os dois em uma div. Basicamente, movi a tag de âncora para cima via CSS e tornei a fonte transparente. Agora, quando você passa o mouse sobre o intervalo, ele "age" como um link. Uma maneira realmente hacky de fazer isso, mas é assim que você pode ter um link com texto diferente ...
Este é um pouco de como eu resolvi esse problema
Meu HTML
<div class="field">
<span>This is your link text</span><br/>
<a href="//www.google.com" target="_blank">This is your actual link</a>
</div>
Meu CSS
div.field a {
color: transparent;
position: absolute;
top:1%;
}
div.field span {
display: inline-block;
}
O CSS precisará mudar com base em seus requisitos, mas esta é uma maneira geral de fazer o que você está pedindo.