我做了一个打开默认消息传递应用程序并在消息正文中写入Hello & Welcome
的按钮。
这是我的代码:
<a href="sms:001234567890?body=Hello%20%26%20Welcome">
<button>
Say Hello,
</button>
</a>
我期望Hello & Welcome
但是它仅显示Hello
,而不显示& Welcome
(消息的右侧)
我认为问题出在&
标志,该标志未在消息传递应用程序中显示,并阻止了消息右侧显示。
我也尝试过:
%26
&
&
&
&
但是它仍然没有显示。
发送消息时可以使用此方法进行编码,并通过给定方法显示以进行解码。
private String encodeMessage(String message) {
message = message.replaceAll("&", ":and:");
message = message.replaceAll("\\+", ":plus:");
return StringEscapeUtils.escapeJava(message);
}
private String decodeMessage(String message) {
message = message.replaceAll(":and:", "&");
message = message.replaceAll(":plus:", "+");
return StringEscapeUtils.unescapeJava(message);
}