在HTML中连接两个字符串,其中一个字符串之间有一个超链接

时间:2017-08-24 05:45:21

标签: javascript html string

我在html中有两个字符串。这两个字符串是"忘记了你的密码?"和"请" ' HPERLINK' "更改密码"。

现在我有一个messageBundle文件,它是一个存储常量的文件。该文件用于翻译其他语言的常量。 现在我将这些字符串存储在我的常量文件中:

Forgot_Pass="Forgotten your password?Please"
Forgot_password_continue="to change your password"

然后在html中我使用这个常量文件在我的UI上创建一个完整的句子"Forgotten your password? Please click_here to change your password"

此处' click_here'是超链接。 无论如何,我可以将此错误消息存储在MessageBundle文件中的单个字符串中,以便可以避免连接这两个字符串吗?

2 个答案:

答案 0 :(得分:0)

您可以通过使用变量的预定义模式(例如:## 1 ##,## 2 ##等)来完成此操作,这些模式可以在翻译时替换为相应的值。

例如:您的最终(单个)字符串可能如下 -

  

Forgot_Pass_Change =“忘记了密码?请## 1 ##进行更改   你的密码“

其中 ## 1 ## 需要在翻译时替换为 <a href="http://your.link.path" >click_here</a>

我知道这意味着必须改变翻译调用的方式。假设您当前的翻译功能类似于getTranslatedString(<translate_string_name>),您可以将其覆盖为如下所示:

getTranslatedString('Forgot_Pass_Change', [<variable_1>, <variable_2> ...]);

getTranslatedString('Forgot_Pass_Change', ['click_here_hyperlink']);

在您的示例中,您只有1个变量字符串。但是,在某些情况下,您需要一次更换多个变量(由 ## 2 ## 表示, ## 3 ## 等等,在你的模板字符串中)。因此数组实现作为第二个参数。

答案 1 :(得分:0)

这似乎是我的解决方案:

Forgot_Pass="Forgotten your password?Please <a href="http://your/url/here">Click here</a> to change your password"

如果我错了,请告诉我。