WhatsApp提供了一个自定义URL方案来与WhatsApp进行交互:如果您有一个网站并想要使用预先填写的消息打开WhatsApp聊天,您可以使用我们的自定义URL方案来执行此操作 . 打开whatsapp:// send?text =后跟要发送的文本,将打开WhatsApp,允许用户选择联系人,并使用指定的文本预填充输入字段 . 以下是如何在您的网站上撰写此内容的示例:<a href="whatsapp://send?text=Hello%20World !"> Hello,world!</a>
如果我想在多行上提到 pre-filled message
跨越,如下所示:
Text on the first line
Text on the second line
Text on the third line
Text on the fourth line
我试着将文本放在 <a href=""></a>
标签中,如下所示:
<a href="whatsapp://send?text=First line\r\nSecond line\r\n\r\nThird line\r\nFourth line">Share on WhatsApp</a>
但它不起作用,消息出现在WhatsApp中,如下所示:
First lineSecond lineThird lineFourth line
2 回答
需要对
<a href=""></a>
标记中的URL中使用的PHP换行符\r\n
进行编码 .urlencode()
PHP函数可用于执行此操作 . 链接必须类似于以下内容才能正确打开WhatsApp聊天,其中包含跨越多行的预填充消息:现在,如果有人在他的Android或iOS设备上浏览您的网站时点击该链接,那么WhatsApp应用程序将打开以允许他选择联系人,并使用指定的文本预填充输入字段,该文本将跨越多行,如这个:
请注意,必须使用双引号,即
"\r\n"
NOT'\r\n'
.虽然
urlencode($msg)
适用于大多数移动浏览器,但它在Android设备上的firefox上使用+
编码空格,因此您的用户可能会看到像Text+on+the+first+line
这样的文本 . 更好的解决方法是使用rawurlencode($msg)
使其与所有浏览器兼容,因为它强制文本根据RFC 3986格式进行编码 .