url 编码在向 WhatsApp 发送 URL 时不起作用

url encoding is not working when sending an URL to WhatsApp

我想通过 WhatsApp 分享 URL。发送普通文本工作正常,但发送 URL 无效。如何使用 URL 创建一个可用的 WhatsApp link?我试着这样做,但它不起作用:

<?php
$value = 2;
$productId = base64_encode($value);
?>
<a href="https://api.whatsapp.com/send?text=www.domain.com/products.php?productId=. <?php urlencode($productId) ?>">Share To WhatsApp</a>

您必须对文本查询参数的整个值进行编码,而不仅仅是数字(它不执行任何操作)。这样做:

<?php
$value = 2;
$text = urlencode("www.domain.com/products.php?productId=".$value);
?>
<a href="https://api.whatsapp.com/send?text=<?php echo $text; ?>">Share To WhatsApp</a>

只需使用 rawurlencode() 而不是 urlencode() 示例

<?php
$value = 2;
$text = rawurlencode("www.domain.com/products.php?productId=".$value);
?>
<a href="https://api.whatsapp.com/send?text=<?php echo $text; ?>"><i class="fa fa-whatsapp"></i></a>