Yahoo OAuth malfunction with '&' character in the redirection URL
<p>Just finished coding an <strong>OAuth Client</strong> object with PHP, and it works just as expected for Facebook, Google, LinkedIn, Live and also for Yahoo with an abnormal glitch.</p>

<p>When a complex redirection URL is passed to Yahoo OAuth server for authorization, everything seems to work fine except Yahoo converts all the <code>&amp;</code> characters in the URL to <code>&amp;amp ;</code> character phrase causing me to make a <code>str_replace()</code> in the PHP code!</p>

<p>Original redirection URL for authorization: </p>

<blockquote>
  <p><a href="http://some.server.my/?Script=SignIn" rel="nofollow">http://some.server.my/?Script=SignIn</a> <strong>&amp;</strong> OAuthProvider=Yahoo</p>
</blockquote>

<p>Resulting redirection URL upon authorization action:</p>

<blockquote>
  <p><a href="http://some.server.my/?Script=SignIn" rel="nofollow">http://some.server.my/?Script=SignIn</a> <strong>&amp;amp ;</strong> OAuthProvider=Yahoo</p>
</blockquote>

<p>This causes the URL arguments <em>get lost in the dark!</em> Using a <code>str_replace()</code> in the PHP code does do the fix job, but am not happy with it.</p>

<p>Any idea why is it that this is happening and how to fix it (officially &amp; in legal way)? Thanks in advance.</p>