【问题标题】:%0d%0a getting added behind the URL of a href attribute in an <a> tag%0d%0a 添加到 <a> 标记中 href 属性的 URL 后面
【发布时间】:2016-05-25 04:55:33
【问题描述】:

在 WooCommerce for WordPress 的帮助插件中,我正在尝试创建要发送给买家的自定义消息。

我不知道为什么在所有发出的电子邮件中,%0d%0a 都被添加到 href 属性中的 URL 后面。我尝试了几种不同的组合,但没有任何效果。

这就是我想要做的:

echo "&lt;a href='$cl'&gt; Please click here to redeem the coupon&lt;/a&gt;";

但是因为 %0d%0a 被添加到它的后面,所以 URL 不能正常用于优惠券代码。

这就是 URL 之后的样子:

https://www.example.com/product-1/?couponCode=TDXGUA9G&utm_source=test&utm_medium=testt&utm_campaign=test&aff_code=TSJU89XYZ%0d%0a

唯一没有添加 %0d%0a 的是:

 echo $cl;

但我希望能够使用&lt;a&gt; 标签,这样买家就不必点击长 URL 链接。

【问题讨论】:

  • 尝试切换引号。 href 需要双引号,而不是单引号。
  • 我也尝试过这种组合。我在stackoverflow中读到我可以使用单引号,所以我也尝试过。
  • 还有其他几件事要检查:$cl 是否包含字符 %0d%0a? $cl 是如何创建的?然后检查这是否是浏览器/电子邮件客户端问题。您可以通过将输出写入文件并分析确切的字符串来做到这一点。最后检查编辑器中的语言设置(utf-8?)。
  • 请提及 $cl 中的内容。你是否已经在 $cl 中包含了 标签?
  • %0d%0a 是换行符。当您使用echo 时,您只是看不到它,因为它没有显示。它仍然存在。清理你的变量,必要时使用trim()

标签: php html wordpress woocommerce


【解决方案1】:

试试这个

echo "<a href='" . $cl . "'> Please click here to redeem the coupon</a>";

如果问题仍然存在,请检查 $cl 的创建方式。

【讨论】:

    【解决方案2】:

    我非常感谢所有回复。但我只想发布经过 7 小时工作后终于为我工作的代码。我知道这看起来很傻,但这是我目前能做的最好的事情。这对我有用:

        ?>
        <a href='<?php echo trim($cl); ?>'> <span color="#557da1">Click here to take <?php echo ' '.$_product_name.'</span></a>';
    

    【讨论】:

      【解决方案3】:

      我刚刚遇到了同样的问题,但我使用的是 ASP.NET。我所做的只是删除单引号并再次输入。现在可以了。

      <asp:HyperLink ... NavigateUrl='<%# Eval("Url") %>' Text='<%# Eval("Name") %>' />
      

      可能有一些额外的不可见字符需要删除。

      【讨论】:

        猜你喜欢
        • 2021-04-25
        • 1970-01-01
        • 2013-02-19
        • 2018-07-30
        • 2021-01-03
        • 2021-07-14
        • 2014-12-24
        • 2010-11-18
        • 1970-01-01
        相关资源
        最近更新 更多