Hello, I am trying to echo fragment of HTML from a PHP page. The code goes as follows:
The URLs that are being generated is a part of a custom framework that we use. So the main.php?page=config_detail means that I go to main.php which redirects me to a page called config_detail.php. Code that has the anchor to the page generating the XHTML fragment: <a id="all_data" name="main.php? process=spec_run&app={$sItem}&all" style="color:#FFFFFF;"> view all </a> So this goes to a page called spec_run at a specific location which is not important for the problem that I have. The request is handled by an AJAX Call (Jquery) as follows: $(document).ready(function() { $("a#all_data").click(function() { var furl = $(this).attr("name"); var turl = furl.split("?"); var page = turl[0]; var params = turl[1]; $.ajax({ //Building request url: page, type: 'GET', data: params, dataType: 'html', //Datatype of the response timeout: 10000000, error: function(xhr,err,e) { alert('error getting raw data' + err); }, success: function(text){ $("table#detail_table").html(text); //On Success, replacing the table tag that has the id: "detail_table" with the contents that it received } }); return false; }); }); The code that generates the XHTML on the spec_run page: $print = ""; $print .= "<table id='detail_table'>"; $print .= "<thead>"; $print .= "<tr>"; $print .= "<a class='sort_link' href='#'>Build</a>"; $print .= "</th>"; $print .= "<th>"; $print .= "<a class='sort_link' href='#'>Config</a>"; $print .= "</th>"; $print .= "<th>"; for ($x=0; $x<$r; $x++) { if($x % 2 == 0) $print .= '<tr class="odd">'; else $print .= '<tr class="even">'; //Build: $print .= "<td>"; $print .= "<a href='main.php?page=build_detail&app=" . $_GET['app']. "&build=" .$build_id_ex[$x]. "'>" . $build_name_ex[$x]. "</a>"; $print .= "</td>"; //Config: $print .= "<td>"; $print .= "<a href='" . "main.php?page=config_detail" . "&" . "app=" . $_GET['app'] . "&" . "config=" . $config_id_ex[$x]. "'>" . $config_name_ex[$x]. "</a>"; $print .= "</td>"; $print .= "</tr>"; $print .= "</tbody>"; $print .= "</table>"; echo $print; The tables is being rendered correctly and everything else looks fine except the anchor tags that have messed up ampersands. It actually gets rendered as: main.php?page=config_detail&app=26&%2338;config=1000 which should ideally be: main.php?page=config_detail&app=26&config=1000 Please advice,