WhatsApp提供了与WhatsApp交互的自定义URL方案:
如果您有一个网站,并希望打开一个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
答案 0 :(得分:1)
需要对\r\n
标记中的URL中使用的PHP换行符<a href=""></a>
进行编码。 urlencode()
PHP函数可用于执行此操作。链接必须如下所示才能正确打开WhatsApp聊天,其中包含跨越多行的预填充消息:
<?php
$msg = "First line\r\nSecond line\r\n\r\nThird line\r\nFourth line";
$msg = str_replace("\r\n", urlencode("\r\n"), $msg); // note the double quotes
echo "<a href='whatsapp://send?text=$msg'>Share on WhatsApp</a>";
?>
现在,如果有人在他的Android或iOS设备上浏览您的网站时点击该链接,那么WhatsApp应用程序将打开以允许他选择联系人,并使用指定的文本预填充输入字段像这样的多行:
First line
Second line
Third line
Fourth line
请注意,必须使用双引号,即"\r\n"
NOT '\r\n'
。
答案 1 :(得分:0)
虽然urlencode($msg)
适用于大多数移动浏览器,但它会在Android设备上的firefox上编码+
的空格,因此您的用户可能会看到Text+on+the+first+line
等文字。更好的解决方法是使用rawurlencode($msg)
使其与所有浏览器兼容,因为它强制文本按照RFC 3986格式进行编码。