How to use ampersands in PHP GET URL variable (or function argument)?

Atadj picture Atadj · Feb 28, 2012 · Viewed 17.4k times · Source

I've got the following code (this is WordPress function) (example of wrong structure):

<?php paginate_comments_links('prev_text=&#x2190;&nbsp;Older&next_text=Newer&nbsp;&#x2192;'); ?>

Example of correct structure:

<?php paginate_comments_links('prev_text=Older&next_text=Newer'); ?>

As you can see I'm trying to add preceding arrow + space (&#x2190;&nbsp;) to 'Older' word and space + arrow (&nbsp;&#x2192;) to 'Newer' word. The problem is that there is a conflict between & that separates 2 function arguments and & that is the beginning of HTML character.

How should correct structure look like?

Answer

Charles Forest picture Charles Forest · Feb 28, 2012

In case someone searches for the same question:

In order to pass a parameter with ampersands (&), you need to encode it.

use urlencode()

Source : http://php.net/manual/en/function.urlencode.php


To decode it afterward, use: urldecode()

Source : http://php.net/manual/en/function.urldecode.php