douchao1879 2012-06-12 02:10
浏览 275
已采纳

避免在php中使用html转义字符

I am trying to make an api call using PHP. One of the parameters is currency

My API call goes like

<?php 
$call=".....&currency=USD&......."; 
$response = hash_call("Pay", $call);
?>

But if I print the call, it prints out as

....¤cy=USD&.......

I checked and found out that &curren is for ¤

Edit: I tried urlencode, and htmlentities. While I hope to get &currency in the source, I am getting %26currency , & amp;currency respectively.

I want to encode '&currency', such that the browser does not convert &curren to ¤. Thanks

  • 写回答

1条回答 默认 最新

  • douzhao5656 2012-06-12 03:37
    关注

    PHP isn't converting anything.

    The browser is converting &current to ¤t for display purposes. If you want to see what $call is in the browser then you will need to wrap it with htmlentities, but that specifically encodes characters so that the original $call is displayed in the browser.

    However, you should not do anything to the string $call before passing it to hash_call.

    Remember, there is a big difference between a raw string and what the browser displays.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?